arcgis使用js动态加载坐标

本文为原创,转载请注明出处:http://www.pm-road.com/index.php/2014/12/24/311/

前一段时间,项目中使用的是高德地图,可是项目马上结尾的时候,客户居然提出必须使用ArcGis,真叫人窝火,不过也没有办法,谁让领导同意了呢~

接下来就是准备换地图,首先将原来的JS文件备份,重新复制并生命名一个新的js文件,对新的js进行修改。

引用在线ArcGis地图:

在页面中将css、js 全部引进,代码如下:

<link rel=”stylesheet” href=”http://js.arcgis.com/3.12/esri/css/esri.css”>

<script src=”http://js.arcgis.com/3.12/”></script>

?

?

在自已的js文件中:

var mapObj;//全局变量
dojo.require(“esri.map”);
dojo.require(“esri.InfoTemplate”);

require([ "esri/map", "dojo/domReady!" ], function(Map) {
    mapObj = new Map(“mapdiv”, {//mapdiv 是展示arcgis地图的div id
        basemap : “streets”,//默认是街道地图
        center : [109.56589,18.253725], // longitude, latitude
        zoom : 12//放大倍数
    });
    mapObj.on(“load”, addPoints);   //在地图加载完成之后,调用addPoints方法

});

function addPoints(map) {
    for(var i = 0 ,size = arcgis_device_list.length ;i<size;i++){// arcgis_device_list 该变量是从数据库中取得的array ,在这里不写
        var device = arcgis_device_list[i];
        var symbol = new esri.symbol.PictureMarkerSymbol(appPath+”/images/lcyd.jpg”, 18, 10);      
        var pt = new esri.geometry.Point( device.xValue,device.yValue);
        var attr = {“deviceName”:device.equipmentName};
        var  infoTemplate = new esri.InfoTemplate(“${deviceName}”, “这里可以写内容,支持html “);          
        var graphic = new esri.Graphic(pt, symbol,attr,infoTemplate); 
        mapObj.graphics.add(graphic);   
    }
}

 

?

?

至此,动态在arcgis中添加点标记结束。

效果如下:

arcgis使用js动态显示坐标

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。