首页 / 浏览问题 / 云GIS / 问题详情
修改替换图层
5EXP 2019年06月19日
<script>
    var map, local, layer, vectorLayer, vectorLayer1, drawPolygon, markerLayer, drawPoint, drawLine,
        style = {
            strokeColor: "#304DBE",
            strokeWidth: 1,
            pointerEvents: "visiblePainted",
            fillColor: "#be1f29",
            fillOpacity: 0.5
        },
        host = window.isLocal ? window.server : "http://support.supermap.com.cn:8090",
        url= host+ "/iserver/services/map-world/rest/maps/World";

    init();

    function init() {
        layer = new SuperMap.Layer.TiledDynamicRESTLayer("World", url, {
            transparent: true,
            cacheEnabled: true
        }, {maxResolution: "auto"});
        layer.events.on({"layerInitialized": addLayer});
        vectorLayer = new SuperMap.Layer.Vector("Vector Layer");
        vectorLayer1 = new SuperMap.Layer.Vector("Vector Layer1");
        markerLayer = new SuperMap.Layer.Markers("Markers");


        //几何圆查询
        drawPolygon1 = new SuperMap.Control.DrawFeature(vectorLayer, SuperMap.Handler.RegularPolygon, {handlerOptions: {sides: 50}});
        drawPolygon1.events.on({"featureadded": drawCompleted});

        map = new SuperMap.Map("map", {
            controls: [
                new SuperMap.Control.ScaleLine(),
                new SuperMap.Control.Zoom(),
                new SuperMap.Control.Navigation({
                    dragPanOptions: {
                        enableKinetic: true
                    }
                }),
                drawPolygon1, drawPolygon2, drawPoint, drawLine, drawRectangle]
        });
        map.addControl(new SuperMap.Control.LayerSwitcher(), new SuperMap.Pixel(42, 80));
    }

    function addLayer() {
        map.addLayers([layer, vectorLayer, vectorLayer1, markerLayer]);
        map.setCenter(new SuperMap.LonLat(0, 0), 0);
    }

    function clearStatus() {
        vectorLayer.removeAllFeatures();
        vectorLayer1.removeAllFeatures();
        markerLayer.clearMarkers();
    }

我感觉是一共三个图层,然后怎么替换成我们自己发布的图层呢,是发布到超图iserver中我们图层的名字来替换此代码中的Markers,Vector吗

1个回答

你应该是要修改底图为你们iserver发布的吧?直接换代码最上面host和url里面的变量值就可以了 对应路径

至于图层的话 看代码 应该是有4个图层 分别是layer, vectorLayer, vectorLayer1, markerLayer

layer是底图 vectorLayer, vectorLayer1是矢量图层 markerLayer是标记图层

然后vectorLayer1只添加到地图了 没有用到 vectorLayer是用来画几何圆 之后用于查询

而markerLayer就是用来展示结果的标记了
545EXP 2019年06月19日
嗯嗯好的,但是,我们现在是有两个图层一个是行政区面的底图还有一个是只有点的底图,我们想利用这个查询功能,画一个圆然后可以查询出圆圈内部的点,那样的话应该怎么换那个底图呢,只有一个url啊,但是我们有两个图。(希望达到的功能效果是点一开始是不显示在底图上的,画圆圈以后,圆内部的进行显示)。

底图不用换 底图就是单纯的用作展示

然后点的图层应该适用于查询 可以看下官方demo

http://iclient.supermap.io/examples/classic/editor.html#query_queryByGeometry

相当于点图层是查询出结果后通过代码绘制到底图上的

...