下面是地图对比的示例代码。
|
| 1. | < !--引入地图框架--> |
| 2. | < script src="http://服务器IP/地图API名称/" type="text/javascript" />< /script> |
创建地图容器元素
创建地图浏览应用程序需要在页面中创建一块区域用于显示地图内容,这个区域我们叫做地图容器,即在body中加入的一个div容器,其页面代码为:
| 1. | <div id="map_div" class="content"> </div> |
| 1. | <div id="map_div_1" class="content"> </div> |
参数初始化设置
地图实例通过下列代码创建,其中,DCIMapConfig.mapInitParams是地图初始化参数。
| 1. | var map = new DCIMap("map_div", DCIMapConfig.mapInitParams); |
| 2. | var mapTwo = new DCIMap("map_div_1", DCIMapConfig.mapInitParams); |
加载图层到地图
根据底图类型,创建底图,添加到地图中。
| 1. | switch (DCIMapConfig.vecMap.type) { |
| 2. | case 0://WMTS |
| 3. | var layers = new DCIWMTSLayer(DCIMapConfig.vecMap.Url); |
| 4. | map.addLayer(layers, 0); |
| 5. | map.showSlider(map.initExtent, DCIMapConfig.sliderConfig); |
| 6. | break; |
| 7. | case 1://1为mapserver切片 |
| 8. | var layers = new esri.layers.ArcGISTiledMapServiceLayer(DCIMapConfig.vecMap.Url); |
| 9. | map.addLayer(layers, 0); |
| 10. | dojo.connect(layers, "onLoad", function () { |
| 11. | map.showSlider(map.initExtent, DCIMapConfig.sliderConfig); |
| 12. | }) |
| 13. | break; |
| 14. | } |
| 15. | } |
| 16. | switch (DCIMapConfig.vecMap.type) { |
| 17. | case 0://WMTS |
| 18. | var layersTwo = new DCIWMTSLayer(DCIMapConfig.vecMap.Url); |
| 19. | mapTwo.addLayer(layersTwo, 0); |
| 20. | mapTwo.showSlider(mapTwo.initExtent, DCIMapConfig.sliderConfig); |
| 21. | break; |
| 22. | case 1://1为mapserver切片 |
| 23. | var layersTwo = new esri.layers.ArcGISTiledMapServiceLayer(DCIMapConfig.vecMap.Url); |
| 24. | mapTwo.addLayer(layersTwo, 0); |
| 25. | dojo.connect(layersTwo, "onLoad", function () { |
| 26. | mapTwo.showSlider(mapTwo.initExtent, DCIMapConfig.sliderConfig); |
| 27. | }) |
| 28. | break; |
| 29. | } |
| 30. | } |
地图联动
添加地图范围改变事件,实现地图联动
| 1. | var flagV = true, flagI = true; |
| 2. | map.esriMap.on("extent-change", function () { |
| 3. | if (flagV) { |
| 4. | var vExtent = map.esriMap.extent; |
| 5. | mapTwo.esriMap.setExtent(vExtent); |
| 6. | flagI = false; |
| 7. | } else if (!flagV) { |
| 8. | flagV = true; |
| 9. | } |
| 10. | }); |
| 11. | mapTwo.esriMap.on("extent-change", function () { |
| 12. | if (flagI) { |
| 13. | var vExtent = mapTwo.esriMap.extent; |
| 14. | map.esriMap.setExtent(vExtent); |
| 15. | flagV = false; |
| 16. | } else if (!flagI) { |
| 17. | flagI = true; |
| 18. | } |
| 19. | }); |
