问题描述:
百度地图API循环添加信息窗口,信息窗口只在最后一个添加的窗口位置打开,并且信息窗口中信息内容相同。
修改前代码:
$.ajax({
type: 'get',
url: '/sc/hzd/hzdmap/data',
dataType: "json",
async: false,
success: function (data) {
for (var x = 0; x < data.length; x++) {
var point = new BMap.Point(data[x].scHzd.hzdLng, data[x].scHzd.hzdLat);
points.push(point);
var marker = new BMap.Marker(point);
map.addOverlay(marker);
marker.disableDragging();
var opts = {
width : 300,
height: 200,
title : data[x].scHzd.hzdName
};
var content = '<div><img width="30%" height="30%" src="' + data[x].imgData + '"></div>';
var infoWindow = new BMap.InfoWindow(content, opts);
marker.addEventListener("click", function(){
map.openInfoWindow(infoWindow, point);
})
}
}
})
修改后代码:
$.ajax({
type: 'get',
url: '/sc/hzd/hzdmap/data',
dataType: "json",
async: false,
success: function (data) {
for (var i = 0; i < data.length; i++) {
(function (x) {
var point = new BMap.Point(data[x].scHzd.hzdLng, data[x].scHzd.hzdLat);
points.push(point);
var marker = new BMap.Marker(point);
map.addOverlay(marker);
marker.disableDragging();
var opts = {
width : 300,
height: 200,
title : data[x].scHzd.hzdName
};
var content = '<div><img width="30%" height="30%" src="' + data[x].imgData + '"></div>';
var infoWindow = new BMap.InfoWindow(content, opts);
marker.addEventListener("click", function(){
map.openInfoWindow(infoWindow, point);
});
})(i);
}
}
})
代码修改后效果:
内容参考:
忽略此处篇幅:
第一,企业诚信承诺管理。支持查看企业诚信承诺内容,支持按行业分类、企业名称、规模等进行查询和展示。第二,诚信承诺审核。第三,查看企业诚信等级。支持按企业名称、诚信等级、所在区县等查询并展示企业诚信等级。第四,诚信等级评定。结合企业安全生产诚信评价模型的评估结果,支持对企业提交的诚信承诺申请进行审核评定。评定结果需同步至我市公共信用信息平台,保持数据一致。第五,诚信评价模型。建立企业安全生产诚信评价模型,对接我市公共信用信息平台,使用大数据分析技术,准确、精准的对企业安全生产诚信进行全方位的评价。第六,诚信黑白名单。对发生安全生产重大事故的公司进行网上公示,列入安全生产“黑名单”,并与我市公共信用信息平台同步,保持数据一致。对列入“黑名单”的企业加强日常监管,为日常监管工作提供辅助依据。支持按企业名称、诚信等级、所在区县等查询并展示诚信白名单企业。第七,不良诚信记录。跟踪记录企业的不良诚信记录,支持与我市公共信用信息平台进行数据同步,更加全面的管理支持查看不良诚信企业列表以及不良诚信记录列表等信息。