function markerMap(res) {
//清空数组
markerslist = [];
//初始化地图插件
var maps = new AMap.Map("informationBoard_container", {
resizeEnable: true,//是否监控地图容器尺寸变化,默认值为false
zoom: 10, //设置地图显示的缩放级别
center: [res[0].longitude, res[0].latitude],
});
// 点标记显示内容,HTML要素字符串
var markerContent = `<div class="custom-content-marker content-marker-img">
</div>`;
var marker;
for (var i = 0; i < res.length; i++) {
if(res[i].ledType="门架式"){
if(res[i].ledsendstate == 1){
//门架式选中过的图片样式
markerContent=`<div class="custom-content-marker content-marker-
changeImgTwo"></div>`;
}else{
//门架式未选中过的图片样式
markerContent = `<div class="custom-content-marker content-marker-
img"></div>`;
}
}else{
if(res[i].ledsendstate == 1){
//F板选中过的图片样式
markerContent = `<div class="custom-content-marker content-marker-
changeImgOne"></div>`;
}else{
//F板未选中过的图片样式
markerContent = `<div class="custom-content-marker content-marker-
img"></div>`;
}
}
var lon = res[i].longitude;
var lat = res[i].latitude;
//console.log(lon, lat)
marker = new AMap.Marker({
content: markerContent,
position: [lon, lat],
offset: new AMap.Pixel(-25, -25),
//将事件的id等值存到e里
extData: {
id: res[i].id,
longitude: lon,
latitude: lat,
ledType: res[i].ledType,
}
});
maps.add(marker);
var clickIon = '';
//点标注的点击事件
marker.on('click', function (e) {
if (e.target.De.content == markerContent) {
if(e.target.De.extData.ledType=='门架式'){
clickIon = `<div class="custom-content-marker content-marker-
changeImgTwo"></div>`;
}
if(e.target.De.extData.ledType=='F板'){
clickIon = `<div class="custom-content-marker content-marker-
changeImgOne"></div>`;
}
} else {
clickIon = `<div class="custom-content-marker content-marker-img">
</div>`;
}
//点击后更改图片
e.target.setContent(clickIon);
//console.log(e);
pushList(e.target.De.extData.id)
});
}
}
//判断markerslist数组里是否有ID,有就删除,没有就添加
function pushList(id) {
if (markerslist.includes(id)) {
markerslist.remove(id);
//console.log(markerslist)
} else {
markerslist.push(id);
//console.log(markerslist)
}
}
Array.prototype.indexOf = function (val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
Array.prototype.remove = function (val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
}
js 高德地图,地图上落点,并点击地图上的图片可进行切换图片
于 2022-03-10 16:19:44 首次发布