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

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

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>  

效果图如下:

附件下载

相关资讯

  • 如何自定义分块导出大图

    当地图范围太大且级别太高时,导出拼接为单张大图后普通看图软件无法打开查看,即便是像ArcGIS或GlobalMapper等专业软件打开也非常困难。为了解决这一问题,本软提供了将大图自定义分块导出的功能。这里我们以成都市行政区划为例,说明如何自定分块导出大图。在视图中点击“下…

    2019-10-24 16:50:47
  • 如何在微图APP内查看三维地球

    说起三维地球,有了解的朋友都会第一时间想起 Google Earth,Google Earth 为用户提供了非常详细和绚丽的三维地球场景,但是Google Earth在国内能正常访问的是PC版,手机版无法查看。为了解决这一问题,水经注微图APP在上线不久之后便推出了三维地球的功能,方便用户查看三维地…

    2019-4-8 10:00:18
  • 青海省谷歌高清卫星地图下载(百度网盘离线包下载)

    一、概述  青海,简称青,省会西宁,位于中国西部,雄踞世界屋脊青藏高原的东北部,是中国青藏高原上的重要省份之一。青海省东西长约1200公里,南北宽800公里,面积为72.10万平方公里。境内山脉高耸,地形多样,河流纵横,湖泊棋布。昆仑山横贯中部,唐古拉山峙立于南,祁连…

    2018-8-23 16:18:41
  • 宁夏省谷歌高清卫星地图下载(百度网盘离线包下载)

    一、概述  宁夏,全称宁夏回族自治区,简称“宁”。首府银川市,成立于1958年10月25日 [1] ,是中国五大少数民族自治区之一。  宁夏回族自治区得黄河水灌溉而形成了悠久的黄河文明。 早在三万年前,宁夏就已有了人类生息的痕迹。公元1038年,党项族的首领李元昊在此建立…

    2018-8-10 16:41:59

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

验证码: 看不清楚?
    我们的客户
    卫星地图下载