2013-01-04 2 views
0

J'ai une carte Google Map (API v3) remplie de marqueurs qui indiquent les données d'une base de données. Je voudrais ajouter une barre latérale qui vérifie quels marqueurs sont actuellement visibles sur la carte et les ajoute à une barre latérale, en ajustant chaque fois que la carte est déplacée. Est-ce que quelque chose comme ça est possible?Barre latérale sur Google Maps réagissant à la carte

Répondre

1

J'ai un GitHub project qui charge un fichier KML contenant des repères, les place dans la barre latérale et utilise l'API Google Maps pour assombrir/éclaircir les emplacements lors du changement de la carte. La partie concernée est cet extrait:

google.maps.event.addListener(mapInstance, 'bounds_changed', function() { 
    currentBounds = mapInstance.getBounds(); 
    for (i = 0; i < parser.docs[0].placemarks.length; i++) { 
     var myLi = $("#p" + i); 
     if (currentBounds.contains(parser.docs[0].placemarks[i].marker.getPosition())) { 
      myLi.css("color","#000000"); 
     } else { 
      myLi.css("color","#CCCCCC"); 
     } 
    } 
}); 

La version abrégée de c'est:

google.maps.event.addListener(mapInstance, 'bounds_changed', function() { 
    currentBounds = mapInstance.getBounds(); 
    /* 
    Loop over Google map placemarks and check the placemark by doing: 
    if (currentBounds.contains(currentPlacemark.getPosition())) { 
     // Change CSS to make sidebar entry visible 
    } else { 
     // Change CSS to make sidebar entry invisible 
    } 
    */ 
}); 

Dans mes exemples, mapInstance est une instance de google.maps.Map et currentPlacemark est une instance d'un de vos objets google.maps.Marker.

+0

C'est ce que je cherchais. Merci. – hubert

Questions connexes