我正在尝试使用存储在数据库中的朋友位置更新带有标记的Google Map(API V3).我想每分钟刷新一次地图……有点像google latitude,它显示了你的朋友在地图上的位置.
这是我的一些Javascript:
请注意,我需要做的就是从数据库中获取位置列表,这本身并不难…我只是不知道如何每分钟更新每个条目的纬度和经度数据的javascript标记对象.
var map;
var markersArray = [];
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 13,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function addMarker(location) {
marker = new google.maps.Marker({
position: location,
map: map
});
markersArray.push(marker);
}
function addMarkerExisting(marker) {
markersArray.push(marker);
}
// Removes the overlays from the map, but keeps them in the array
function clearOverlays() {
if (markersArray) {
for (i in markersArray) {
marker.infowindow.close();
markersArray[i].setMap(null);
}
}
}
最佳答案 我的建议是使用这样的东西:
function initialize() {
...
setInterval("updateMarkers()",60000); //refresh every minute
}
在内部函数updateMarkers()中,你必须从map和markers数组中清除标记并加载并再次插入它们……