SuperMap学习系列(三)—地图上绘制线段

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

学习笔记,方便以后查询。
[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="json_parse.js"></script>  
  7.     <script src="toJSON.js"></script>  
  8.     <script src="libs/SuperMap.Include.js"></script>  
  9.     <script type="text/javascript">      
  10.         var selectStyle = {  
  11.             fillColor: "#ffcc33",  
  12.             strokeColor: "#ccff99",  
  13.             strokeWidth: 2,  
  14.             graphZIndex: 1  
  15.         };  
  16.         var map, layer, vectorLayer, control, selectFeature;  
  17.         // 设置访问的GIS服务地址  
  18.         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>";  
  19.         function GetMap() {  
  20.             // 创建地图对象  
  21.             map = new SuperMap.Map("map");  
  22.             //control = new SuperMap.Control.MousePosition();     //该控件显示鼠标移动时,所在点的地理坐标。  
  23.             //map.addControl(control);  //添加控件  
  24.             // 创建图层对象  
  25.             layer = new SuperMap.Layer.TiledDynamicRESTLayer("World", url, { transparent: true, cacheEnabled: true }, { maxResolution: "auto" });  
  26.             layer.events.on({ "layerInitialized": addLayer });  
  27.             vectorLayer = new SuperMap.Layer.Vector();  
  28.         }  
  29.         // 加载图层  
  30.         function addLayer() {  
  31.             // 向Map添加图层  
  32.             map.addLayers([layer, vectorLayer]);  
  33.             map.setCenter(new SuperMap.LonLat(116.409749, 39.912344), 1);</p><p>            //添加大头针标记  
  34.             var markerlayers = new SuperMap.Layer.Markers("Markers");  
  35.             map.addLayer(markerlayers);  
  36.             var marker = new SuperMap.Marker(new SuperMap.LonLat(116.409749, 39.912344));  
  37.             markerlayers.addMarker(marker);</p><p>            //例如点击marker弹出popup  
  38.             marker.events.on({  
  39.                 "mouseover": openInfoWin,  
  40.                 "mouseout": closeInfoWin,  
  41.                 "click": clickHandler,  
  42.                 "scope": marker   //   还不清楚这行代码是什么意思!  如果有大神赐教,我不甚感激!  
  43.             });</p><p>            //  添加两条线段  
  44.             var points1 = [new SuperMap.Geometry.Point(116.409749, 39.912344), new SuperMap.Geometry.Point(114.358451, 38.29168)];  
  45.             var points2 = [new SuperMap.Geometry.Point(116.409749, 39.912344), new SuperMap.Geometry.Point(117.155649, 39.166468)];  
  46.             var riverLine1 = new SuperMap.Geometry.LineString(points1);  
  47.             var riverLine2 = new SuperMap.Geometry.LineString(points2);  
  48.             lineFeature1 = new SuperMap.Feature.Vector(riverLine1);  
  49.             lineFeature2 = new SuperMap.Feature.Vector(riverLine2);  
  50.             vectorLayer.addFeatures([lineFeature1, lineFeature2]);</p><p>            selectFeature = new SuperMap.Control.SelectFeature(vectorLayer, {  
  51.                 onSelect: onFeatureSelect,  
  52.                 onUnselect: onUnFeatureSelect,  
  53.                 hover: true  
  54.             });  
  55.             selectFeature.repeat = true;  
  56.             selectFeature.toggle = true;  
  57.             map.addControl(selectFeature);  
  58.             selectFeature.activate();  
  59.         }  
  60.         var infowin = null;  
  61.         function openInfoWin() {             
  62.             closeInfoWin();  
  63.             var marker = this;              
  64.             var lonlat = marker.lonlat;  
  65.             var contentHTML = "<div style='font-size:.8em; opacity: 0.8; overflow-y:hidden;'>";  
  66.             contentHTML += "<div>Hello Word</div></div>";  
  67.             var popup = new SuperMap.Popup.FramedCloud("popwin",  
  68.                 new SuperMap.LonLat(lonlat.lon, lonlat.lat),  
  69.                 null,  
  70.                 contentHTML,  
  71.                 null,  
  72.                 true);  
  73.             infowin = popup;  
  74.             map.addPopup(popup);  
  75.         }  
  76.         function closeInfoWin() {            
  77.             if (infowin) {  
  78.                 try {  
  79.                     infowin.hide();  
  80.                     infowin.destroy();  
  81.                 }  
  82.                 catch (e) { }  
  83.             }  
  84.         }  
  85.         function clickHandler() {  
  86.             closeInfoWin();  
  87.             var marker = this;  
  88.             alert("Hello Word,我被点击了!");  
  89.         }</p><p>        function onUnFeatureSelect(feature) {  
  90.             feature.style = style;  
  91.             vectorLayer.redraw();  
  92.         }  
  93.         function onFeatureSelect(feature) {  
  94.             var f = new SuperMap.Feature.Vector;  
  95.             f.geometry = feature.geometry.clone();  
  96.             f.style = style;  
  97.             vectorLayer.addFeatures(f);  
  98.         }  
  99.     </script>  
  100. </head>  
  101. <body onload="GetMap()">      
  102.     <div id="map" style="height: 640px; width: 720px; border: 1px solid red; margin-left: auto; margin-right: auto;"></div>  
  103. </body>  
  104. </html>  
  105. </p>  


效果图如下:

初始地图(两条线段不是很明显)


放大地图,鼠标放在线段上:

附件下载

相关资讯

  • 青海省谷歌高清卫星地图下载(百度网盘离线包下载)

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

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

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

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

    一、概述辽宁,中华人民共和国省级行政区,简称“辽”,辽宁省南临黄海、渤海,东与朝鲜一江之隔,与日本、韩国隔海相望,是东北地区唯一的既沿海又沿边、中国最北端的沿海省份,也是东北地区及内蒙古自治区东部地区对外开放的门户。辽宁省是中国重要的重工业基地、教育强省、…

    2018-7-25 17:18:09
  • 江西省谷歌高清卫星地图下载(百度网盘离线包下载)

    一、概述  江西,中国省级行政区,简称“赣”(gn),又称江右、别称赣鄱大地,省会是南昌。因公元733年唐玄宗设江南西道而得省名,又因古为干越之地和省内最大河流为赣江而简称赣。  夏商时期,江西境内有邗越(干越)、百濮,《荀子劝学篇》注:“邗越古国名”。已进入青…

    2018-7-24 16:25:25

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

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