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

2016-7-21 14:54:53 0人评论 276次浏览 分类:技术文章

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>  

效果图如下:

附件下载

相关资讯

  • Autodesk 3ds Max 2012 安装破解图文教程

    用万地图下载器下载的谷歌地球高程数据,除了可以在电力、水利、通信、石油、国土、农业、林业、环保、环评、矿山、海洋、物探、规划设计、数字城市、道路勘测等GIS行业中使用外,还可以用于在3DS Max中制作三维地形图。Autodesk 3ds Max 2012 安装包请从以下地址下载:http:/…

    2017-11-24 13:53:37
  • 初识地图发布中间件

    如果需要发布海量影像数据快速构建全国离线二维GIS地理信息系统或全球离线三维地球触摸GIS系统,则需要由硬件、软件、数据和GIS平台四部分组成。

    2017-11-14 11:09:17
  • 中间件的项目应用案例 ——《金风科技全球监控中心》

    《水经注地图发布服务中间件》适合所有需要构建全国或全球地图数据服务器并发布海量影像数据的行业,主要包括考古、电力、水利、通信、物流、石油、国土、农业、林业、环保、环评、矿山、海洋、物探、规划设计、数字城市、数字城管、综合应急、智能交通、公共卫生、园林设计、…

    2017-11-13 14:44:15
  • 如何在内网(局域网中)发布OpenLayers地图平台

    这里以中间件作为谷歌地球(GoogleEarth)卫星地图发布引挚,杭州市4到14级谷歌地球卫星地图(WGS84经纬度投影)作为中间件的地图发布数据源,OpenLayers开源平台作为加载中间件发布的卫星影像数据平台,说明如何在内网(局域网)中构建一套基于OpenLayers开发平台的离线WebGIS地理信…

    2017-11-10 10:54:25

共有访客发表了评论 网友评论

验证码: 看不清楚?