当前位置:>GIS服务>GIS技术

SuperMap学习系列(四)—鼠标移动(高亮显示)

2016/7/21 14:54:53 0人评论 4066 次

900-150.gif

SuperMap学习系列(四)—鼠标移动(高亮显示)
学习笔记,方便以后查阅。参考超图技术资源中心--代码库:
http://support.supermap.com.cn/ProductCenter/ResourceCenter/CodeLibrary.aspx

[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. <p><!DOCTYPE html>  
  2. <html xmlns="<a target="_blank" href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>">  
  3. <head>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5.     <title></title>   
  6.     <script src="libs/SuperMap.Include.js"></script>  
  7.     <script type="text/javascript">      
  8.         var style = {  
  9.             strokeColor: "#304DBE",  
  10.             strokeOpacity: 0,  
  11.             fillColor: "#00ff00",  
  12.             fillOpacity: 0,  
  13.         };  
  14.         var selectStyle = {  
  15.             fillColor: "#ffcc33",  
  16.             strokeColor: "#ccff99",  
  17.             strokeWidth: 2,  
  18.             graphZIndex: 1  
  19.         };  
  20.         var map, layer, vectorLayer, selectFeature;  
  21.         // 设置访问的GIS服务地址  
  22.         var url = "<a target="_blank" href="http://localhost:8090/iserver/services/map-ChinaTestWorkPlace/rest/maps/ChinaTest">http://localhost:8090/iserver/services/map-ChinaTestWorkPlace/rest/maps/ChinaTest</a>";  
  23.         function GetMap() {  
  24.             // 创建地图对象  
  25.             map = new SuperMap.Map("map");  
  26.             //control = new SuperMap.Control.MousePosition();     //该控件显示鼠标移动时,所在点的地理坐标。  
  27.             //map.addControl(control);  //添加控件  
  28.             // 创建图层对象  
  29.             layer = new SuperMap.Layer.TiledDynamicRESTLayer("World", url, { transparent: true, cacheEnabled: true }, { maxResolution: "auto" });  
  30.             layer.events.on({ "layerInitialized": addLayer });  
  31.             vectorLayer = new SuperMap.Layer.Vector("Vector Layer");</p><p>            selectFeature = new SuperMap.Control.SelectFeature(vectorLayer, {  
  32.                 onSelect: onFeatureSelect,  
  33.                 onUnselect: onUnFeatureSelect,  
  34.                 hover: true  
  35.             });  
  36.             map.addControl(selectFeature);  
  37.             selectFeature.activate();  
  38.         }  
  39.         // 加载图层  
  40.         function addLayer() {  
  41.             // 向Map添加图层  
  42.             map.addLayers([layer, vectorLayer]);  
  43.             map.setCenter(new SuperMap.LonLat(116.409749, 39.912344), 1);            
  44.             QueryBySQL();  
  45.         }  
  46.         //查询函数  
  47.         function QueryBySQL() {  
  48.             var queryParam, queryBySQLParams, queryBySQLService;  
  49.             //SuperMap.REST.FilterParameter 查询过滤条件参数类。 该类用于设置查询数据集的查询过滤参数。   
  50.             queryParam = new SuperMap.REST.FilterParameter({  
  51.                 name: "<a target="_blank" href="mailto:Provinces_R@China400">Provinces_R@China400</a>"   //ChinaTest地图中的图层名称  
  52.             });  
  53.             //SuperMap.REST.QueryBySQLParameters SQL 查询参数类。 该类用于设置 SQL 查询的相关参数。   
  54.             queryBySQLParams = new SuperMap.REST.QueryBySQLParameters({  
  55.                 queryParams: [queryParam]  
  56.             });  
  57.             //SuperMap.REST.QueryBySQLService SQL 查询服务类。 在一个或多个指定的图层上查询符合 SQL 条件的空间地物信息。   
  58.             queryBySQLService = new SuperMap.REST.QueryBySQLService(url, {  
  59.                 eventListeners: { "processCompleted": processCompleted, "processFailed": processFailed }  
  60.             });  
  61.             queryBySQLService.processAsync(queryBySQLParams);  
  62.         }  
  63.         //查询成功  
  64.         function processCompleted(queryEventArgs) {  
  65.             var i, j, feature,  
  66.                     result = queryEventArgs.result;  
  67.             if (result && result.recordsets) {  
  68.                 for (i = 0; i < result.recordsets.length; i++) {  
  69.                     if (result.recordsets[i].features) {  
  70.                         for (j = 0; j < result.recordsets[i].features.length; j++) {  
  71.                             feature = result.recordsets[i].features[j];  
  72.                             feature.style = style;  
  73.                             vectorLayer.addFeatures(feature);  
  74.                         }  
  75.                     }  
  76.                 }  
  77.             }  
  78.         }  
  79.         function processFailed(e) {  
  80.             alert(e.error.errorMsg);  
  81.         }  
  82.         function onUnFeatureSelect(feature) {  
  83.             feature.style = style;  
  84.             vectorLayer.redraw();  
  85.         }  
  86.         function onFeatureSelect(feature) {  
  87.             feature.style = selectStyle;  
  88.             vectorLayer.redraw();  
  89.         }         
  90.     </script>  
  91. </head>  
  92. <body onload="GetMap()">      
  93.     <div id="map" style="height: 640px; width: 720px; border: 1px solid red; margin-left: auto; margin-right: auto;"></div>  
  94. </body>  
  95. </html>  
  96. </p>  

效果图如下:

推荐阅读:

【免费】免费分享全国省级与市级行政区划啦!

【免费】百度网盘可免费下载全国高清卫星影像啦!

【免费】百度网盘可免费下载全国30米SRTM高程啦!

【免费】免费从网盘下载的影像和高程DEM如何使用?

【说明】如何利用免费地图数据构建一个离线三维地球?

【说明】DAT与IDX格式文件如何打开?

【说明】如何免费下载高清卫星影像地图?

【说明】22.3TB全国1-20级卫星影像终于出炉!

【亲测】干货:全球73.9TB卫星影像是如何下载的?

【说明】《全国12.5米高程DEM原始数据2.0》发布!

【说明】12.5m、30m、90m 高程数据详细对比说明!

【Cesium】在开源地球 Cesium 离线加载影像和高程!

【ArcMap】在ArcMap中离线加载海量卫星影像的方法!

【说明】《地图发布服务中间件》for Linux 发布!

【GoogleMap API for JS】最新版GoogleMap API 离线源码下载技术!

【亲测】全球卫星影像的大字体挂图打印制作方法

长按关注水经注,我们与你更近一步

地图下载|地图发布|系统部署|定制研发

请拔打24小时热线:400-028-0050

分享到:

相关资讯

    暂无相关的资讯...