arcgis 地图服务封装地图打点功能
1、初始化地图服务
dojoRequire(["esri/map",
"esri/geometry/Point", ],(Map,Point,)=>{window.initPGISLayer()
map = new Map("map", {center : new Point(113.417712153994512,23.224568881656335), // 中心点
zoom : 8,
logo : false,
slider : false,
})
var sl_url = "http://10.41.219.142:6080/PGIS_S_TileMapServer/ags/vector/";
mapLayer1 = new window.esri.layers.CCFPGISLayer(sl_url);
map.addLayer(mapLayer1);
this.drawPonit(data);
})
2、绘制打点功能 drawPonit 方法
drawPonit=(data)=>{
dojoRequire([
"esri/InfoTemplate",
"esri/layers/GraphicsLayer",
"esri/geometry/Point",
"esri/SpatialReference",
"esri/symbols/PictureMarkerSymbol",
"esri/graphic",
],(InfoTemplate,GraphicsLayer,Point,SpatialReference,PictureMarkerSymbol,Graphic)=>{drawLayer = new GraphicsLayer({opacity:0.80,id: "mapLayer"});
map.addLayer(drawLayer,2);
for(let i=0;i<data.length;i++){let mp = new Point(new SpatialReference({wkid:4326}));
let infoTemplate;
let attr = {};
let sms = new PictureMarkerSymbol('./marker-icon.png',30,36);
mp.points.push([[data[i].lng],[data[i].lat]]);
infoTemplate = new InfoTemplate(data[i].title,data[i].content
)
let graphic = new Graphic(mp,sms,attr,infoTemplate);
drawLayer.add(graphic);
}
})
}