如何在谷歌地图上加载多个marker

 我来答
好口子
2016-07-25 · 好口子,手把手教你维护好你的征信!
好口子
采纳数:29399 获赞数:66628

向TA提问 私信TA
展开全部
以下是代码,初次加载可以,定时刷新后标注没法更新
var markerArr;
var markers = new Array();
//获取站点的初始信息(地理位置)
//var markerArr;//标注点数组
function getMarkers(){
$.ajax({
type : "post",
url : "servlet/InTime",
async : false,
success : function(result){
markerArr = result;
}
});
}
function addMarker() {
for(var i = 0;i<markerArr.length;i++){
var json = markerArr[i];
var p0 = json.longitude;
var p1 = json.latitude;
markers[i] = new BMap.Marker(new BMap.Point(p0, p1), {
// 指定Marker的icon属性为Symbol
icon: new BMap.Symbol(BMap_Symbol_SHAPE_POINT, {
scale: 0.6,//图标缩放大小
fillColor: json.signal,//填充颜色
fillOpacity: 1//填充透明度
}),
title : json.name
});
var label = new BMap.Label(json.name+"最新时次:"+json.datetime, {
"offset" : new BMap.Size(10, -20)
});
label.setStyle( {
borderColor : "#808080",
color : "#333",
cursor : "pointer"
});
markers[i].setLabel(label);
label.hide();
map.addOverlay(markers[i]);
(function(){
var index = i;
var _marker = markers[i];
_marker.addEventListener("mouseover", function(){
this.getLabel().show();
this.setAnimation();
});
_marker.addEventListener("mouseout", function(){
this.getLabel().hide();
});
_marker.addContextMenu(createMenu(i,_marker));
})()
}
}
//获取站点的初始信息(地理位置)
getMarkers();
//向地图中添加marker
addMarker();
function runAddmarkers(){
var allOverlay = map.getOverlays();
for(var i=0;i<allOverlay.length;i++){
if(allOverlay[i].toString()=="[object Marker]"){
map.removeOverlay(allOverlay[i]);
}
}
$.ajax({
type : "post",
url : "servlet/InTime",
async : true,
success : function(result){
alert(result.length);
markerArr = result;
}
});
for(var i = 0;i<markerArr.length;i++){

var json = markerArr[i];
var p0 = json.longitude;
var p1 = json.latitude;
var marker = new BMap.Marker(new BMap.Point(p0, p1), {
// 指定Marker的icon属性为Symbol
icon: new BMap.Symbol(BMap_Symbol_SHAPE_POINT, {
scale: 0.6,//图标缩放大小
fillColor: json.signal,//填充颜色
fillOpacity: 1//填充透明度
}),
title : json.name
});
var label = new BMap.Label(json.name+"最新时次:"+json.datetime, {
"offset" : new BMap.Size(10, -20)
});
label.setStyle( {
borderColor : "#808080",
color : "#333",
cursor : "pointer"
});
marker.setLabel(label);
label.hide();
map.addOverlay(marker);
(function(){
var index = i;
var _marker = marker;
_marker.addEventListener("mouseover", function(){
this.getLabel().show();
});
_marker.addEventListener("mouseout", function(){
this.getLabel().hide();
});
})()

}
setTimeout("runAddmarkers()",20000);
}
var timer = setTimeout("runAddmarkers()",20000); 望采纳。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式