arcgis for js 3.3 向地图添图标
代码如下:
首先添加 一个新的图层,存放图标
function create_disaster(layerId){
let mapLayer = map.getLayer(layerId);
if(!mapLayer){
mapLayer = new esri.layers.GraphicsLayer({
id: layerId
});
map.addLayer(mapLayer);
mapLayer.on("click", disasterClick);
}
let num = layerId.split("_");
num = num[num.length - 1];
let zindex = num;
if (zindex > map.graphicsLayerIds.length - 1) {
zindex = map.graphicsLayerIds.length - 1;
}
map.reorderLayer(mapLayer, zindex);
return mapLayer;
}
向图层上添加图标
$.ajax({
type:'post',
url:system + '/geology/getDisasterAll',
data:{},
dataType: 'json',
success:function(res){
if(res.code == 200){
if(res.data.length > 0){
let mapDataList = res.data;
let mapLayer = create_disaster('mapFeatureLayerDisaster2_num_0')
mapLayerShowHideByLayerId("mapFeatureLayerDisaster2_num_0", true);
for (let i = 0; i < mapDataList.length; i++) {
var imgUrl = '../../img/map/d_dian.png';
var point = new esri.geometry.Point({
"x": mapDataList[i].lon,
"y": mapDataList[i].lat,
});
var mapData = {
"lon": mapDataList[i].lon,
"lat": mapDataList[i].lat,
"title":mapDataList[i].disaster_name,
};
var symbol = new esri.symbol.PictureMarkerSymbol(imgUrl, 12, 12);
var graphic = new esri.Graphic(point, symbol,{
"name": mapDataList[i].disaster_name,
"data": mapData,
"type": "disaster",
});
mapLayer.add(graphic);
}
}
}
},
error:function(){
}
})