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

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

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

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 离线加载影像和高程!                                        

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

《地图发布服务中间件》for Linux 发布!                                        

最新版GoogleMap API 离线源码下载技术!                                        

全球谷歌卫星影像的大字体挂图打印制作方法                                        

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

新版谷歌地图高清            卫星地图下载拼接,地图标注,DEM高程下载,等高线提取,矢量数据(WGS84,西安80,北京54,2000坐标)å åŠ é…            å‡†,投影转换;支持AutoCAD,ArcGIS等行业软件。  

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

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

分享到:

相关资讯

    暂无相关的资讯...