web-dev-qa-db-fra.com

Obtenez le cadre de délimitation de la carte du dépliant visible?

J'ai une carte de dépliant qui fait un panoramique et un zoom. Comment puis-je obtenir dynamiquement le lat/long des bords de la carte (après un zoom avant/arrière + panoramique)?

29
bernie2436

C'est, comme vous pouvez le deviner:

map.getBounds();

Si vous souhaitez obtenir les limites après le panoramique et le zoom, utilisez événements , comme

map.on('moveend', function() { 
     alert(map.getBounds());
});
43
tmcw

La réponse ci-dessus est correcte, mais pas très utile et malheureusement, les documents de la brochure ne donnent pas beaucoup de détails sur l'appel à getBounds ().

Si vous ajoutez ceci à votre fonction d'initialisation de carte, vous pouvez voir les données de carte affichées:

map.on('dragend', function onDragEnd(){
    var width = map.getBounds().getEast() - map.getBounds().getWest();
    var height = map.getBounds().getNorth() - map.getBounds().getSouth();

    alert (
        'center:' + map.getCenter() +'\n'+
        'width:' + width +'\n'+
        'height:' + height +'\n'+
        'size in pixels:' + map.getSize()
    )});

Notez que la taille correspond aux dimensions en pixels de la fenêtre de carte, où les limites sont les tailles internes mises à l'échelle. Essayez le zoom et vous verrez que la taille reste constante, mais la hauteur et le double pour chaque niveau de zoom.

Il y a tout un tas de méthodes qui vivent sous l'objet LatLngBounds, vous devriez donc être en mesure de trouver l'un des appels qui peut vous donner toutes les informations que vous recherchez.

18
Roger Hill