循环在地图上添加标注,并且当mouseover时为标注添加信息框
现在的问题是因为mouseover的e的坐标跟当初添加标注的时候的坐标有偏差所以衡不等,所以就没法添加浮框.........
求大侠们帮帮忙啊.............
function SetMarker(e){
map.clearOverlays();
var markerArr = [{
title: "国贸中心",
content: "河南百林鸟传媒服务有限公司",
point: "113.687907|34.791037",
isOpen: 0,
icon: {
w: 21,
h: 21,
l: 0,
t: 0,
x: 6,
lb: 5
}
}, {
title: "百林鸟传媒",
content: "河南百林鸟传媒服务有限公司",
point: "116.359823|39.984761",
isOpen: 1,
icon: {
w: 21,
h: 21,
l: 0,
t: 0,
x: 6,
lb: 5
}
}];
for (var i = 0; i < markerArr.length; i++) {
var json = markerArr[i];
var p0 = json.point.split("|")[0];
var p1 = json.point.split("|")[1];
var point = new BMap.Point(p0, p1);
//标注图标
var myIcon = new BMap.Icon("", new BMap.Size(20, 32), {
anchor: new BMap.Size(10, 28),
infoWindowAnchor: new BMap.Size(-60, -30)
});
marker = new BMap.Marker(new BMap.Point(p0, p1), {
icon: myIcon
});
map.addOverlay(marker);
marker.setAnimation(BMAP_ANIMATION_DROP); //动画效果
marker.enableDragging(true);
marker.addEventListener("click", function(e){
for (var j = 0; j < markerArr.length; j++) {
var ajson = markerArr[j];
var ap0 = ajson.point.split("|")[0];
var ap1 = ajson.point.split("|")[1];
var apoint = new BMap.Point(ap0, ap1);
if (e.point == apoint) {
infowindow = new BMap.InfoWindow("<font style='font-size:12px;'>" + ajson.content + "</font>", {
width: 100,
height: 5,
title: "<font style='font-size:12px;color:red;'>" + ajson.title+ "</font>",
offset: new BMap.Size(0, -28)
});
openMyWin(infowindow, new BMap.Point(e.point.lng, e.point.lat));
}
}
});
/*
marker.addEventListener("mouseout", function(e){
CloseMyWin(infowindow, new BMap.Point(e.point.lng, e.point.lat));
});
*/
}
}