本文为原创,转载请注明出处: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中添加点标记结束。
效果如下:
原文:http://rqlipeng.iteye.com/blog/2174182