2010-10-22 3 views
4

J'essaye de mettre à jour une carte de Google (API V3) avec des marqueurs en utilisant mes emplacements d'amis stockés dans une base de données. Je veux rafraîchir la carte à chaque minute ... un peu comme google latitude qui montre où vos amis sont sur la carte. S'il vous plaît noter que tout ce que je dois faire est d'obtenir une liste des emplacements de la base de données, ce qui en soi n'est pas difficile ... Je ne sais pas comment mettre à jour l'objet marqueur javascript avec les données de latitude et de longitude de chaque entrée chaque minute.Mettre à jour les objets Javascript de Google Maps toutes les minutes en utilisant les nouvelles données de la base de données en utilisant C#?

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); 
     } 
    } 
} 
+0

Utilisez-vous asp.net webforms ou asp.net mvc? – Peter

Répondre

2

Mon propose est d'utiliser quelque chose comme ceci:

function initialize() { 
... 
setInterval("updateMarkers()",60000); //refresh every minute 
} 

et à l'intérieur updateMarkers fonction(), vous devez effacer les marqueurs de tableau de carte et des marqueurs et la charge & les insérer à nouveau ...

Questions connexes