叠加多个图层,怎么设置同步的放大缩小

0 投票

就是加载了两个图层,可是缩放的时候两个地图没有同时的放大缩小,只有天地图图层放大缩小,而另一个就没有,这怎么解决?

11月 7, 2018 分类:  1729次浏览 | 用户: glgom (3 分)

1个回答

0 投票

您好,通过图片可看出,在缩放前后2个图层的相对位置不对。

想问下,您添加的天地图的方式是什么,比如通过通过js代码直接加载天地图wmts的地址【

http://t0.tianditu.gov.cn/img_c/wmts】。

您另一个图层是什么类型的图层,数据来源是iServer的REST服务,还是其他,是点线还是面。

收到消息后会尽快回复您。

11月 7, 2018 用户: 李萍 (-1,001 分)
天地图就是直接通过这几行代码生成的,

       tiandituLayer = new SuperMap.Layer.Tianditu();
        tiandituLayer.setName("天地图");
        tiandituLayer.layerType = "img";

并没有如你说的通过js代码直接加载。

另一个图层我是这个创建的

layer = new SuperMap.Layer.TiledDynamicRESTLayer("farm", url,
                {transparent: true,cacheEnabled: true,},{maxResolution: "auto"});

数据来源是iServer的REST服务,是面的。
这个需要创建专题图吗?
您好,我这边测试一下京津的数据,是没有问题的。代码如下【

       layerJingjing = new SuperMap.Layer.TiledDynamicRESTLayer("京津地区地图", url2, {
                transparent: true,
                cacheEnabled: true
                });
        tiandituLayer = new SuperMap.Layer.Tianditu();
        tiandituLayer.layerType = "img";
        map.addLayers([tiandituLayer]);
        map.setCenter(new SuperMap.LonLat(23, 37),0);
        tiandituLayer.events.on({"loadend": addLayer});
        function addLayer()
            {
                map.addLayers([layerJingjing]);
            }


建议您尝试一下京津的数据,如果京津的数据没有问题,那可能是因为您的数据问题,您可以把数据发给我们,我们再进行测试。

请问多图层情况下,创建监听事件的时候,是不是只需一个图层创建就行了?而且这个图层可随意选择吗?

当我两个都注册的时候,farmLayer的图层的位置就跟天地图的位置不对了。

您好,你可以在addLayer中再次监听另一个事件【farmLayer.events.on("layerInitialized":addlayer1);】
然后再addlayer1中再加载您所需要的图层
您这个一共是四个图层,您可以在addlayer中加载三个,在addlayer1中加载第四个
明白了,非常谢谢
...