使用 C# 使用数据库中的新数据每 1 分钟更新一次 Google 地图 Javascript 对象?

Fai*_*azi 5 javascript c# database google-maps-api-3

我正在尝试使用存储在数据库中的朋友位置的标记来更新 Google 地图(API V3)。我想每分钟左右刷新一次地图...有点像谷歌纬度,它显示你的朋友在地图上的位置。

这是我的一些 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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 2

我的建议是使用这样的东西:

function initialize() {
...
setInterval("updateMarkers()",60000); //refresh every minute
}
Run Code Online (Sandbox Code Playgroud)

在函数 updateMarkers() 内部,您必须从地图和标记数组中清除标记,然后再次加载和插入它们...