鼠标在图层上移动时,高亮显示所指的要素
以下是高亮显示图层的示例代码。
|
| 1. | < !--引入地图框架--> |
| 2. | < script src="http://服务器IP/地图API名称/" type="text/javascript" />< /script> |
创建地图容器元素
创建地图浏览应用程序需要在页面中创建一块区域用于显示地图内容,这个区域我们叫做地图容器,即在body中加入的一个div容器,其页面代码为:
| 1. | <div id="map_div" class="content"> </div> |
参数初始化设置
地图实例通过下列代码创建,其中,DCIMapConfig.mapInitParams是地图初始化参数。
| 1. | var map = new DCIMap("map_div", 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. | } |
高亮显示
高亮显示通过绑定图层的onMouseMove事件实现。
| 1. | dojo.connect(featurelayer, "onMouseMove", function (evt) { |
| 2. | var graphic = evt.graphic; |
| 3. | if (graphic) { |
| 4. | var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([128, 128, 128]), 0.1), new dojo.Color([224, 91, 255, 0.5])); |
| 5. | graphic.setSymbol(symbol); |
| 6. | } |
| 7. | }) |
恢复正常显示
恢复正常显示通过绑定图层的onMouseOut事件实现。
| 1. | dojo.connect(featurelayer, "onMouseOut", function (evt) { |
| 2. | var graphic = evt.graphic; |
| 3. | if (graphic) { |
| 4. | graphic.setSymbol(map.fillSymbol); |
| 5. | } |
| 6. | }) |
