L'API Google Maps: Calculer Center/Zoom de la Polyligne
J'ai une superposition qui est généré dynamiquement à partir des données de l'utilisateur, donc j'ai besoin de savoir comment trouver le centre de la superposition.
Actuellement, je suis juste en utilisant la première de coordonnées de la superposition, mais cela ne représente pas le centre de la superposition. Donc, lorsque je charge la carte, il n'est pas centré sur la superposition.
Quelqu'un aurait-il une bonne méthode pour le centrage de la carte sur l'écran de superposition, par le calcul de la centre, pas dur à coder ça?
var latlng = new google.maps.LatLng(38.269239, -122.276010);
var myOptions = {
zoom: 15,//Calculate this somehow?
center: latlng,//Calculate value from array of coordinates?
mapTypeId: google.maps.MapTypeId.HYBRID
};
InformationsquelleAutor Nic Hubbard | 2010-07-23
Vous devez vous connecter pour publier un commentaire.
Si vous avez une liste de coordonnées, vous pouvez faire une boucle au-dessus d'eux et de les ajouter à un LatLngBounds objet. Voici un exemple pour la V3 de l'API, mais le concept dans la V2 est similaire:
Après cela, vous pouvez obtenir avec le centre:
Ou sinon, vous pouvez appeler
map.fitBounds()
directement, ce qui sera le centre de la carte autour du centre de l'limites et d'ajuster le zoom, de sorte que l'ensemble des limites va parfaitement dans le port de la vue.map.fitBounds(bounds);
après décrites. Si vous souhaitez appliquer un certain niveau de zoom maximum, vous devrez vous inscrire à unzoomChangeBoundsListener
temporairement. Dites-moi si vous avez besoin d'un exemple pour que trop.Basé sur @tux21b,