La vue de terrain de Google Maps par défaut affiche un panoramique illimité de la mosaïque de la carte. Vous pouvez utiliser LatLngBounds()
pour limiter cela, mais quelles sont les coordonnées minimales et minimales que je devrais utiliser pour configurer la fenêtre comme juste la Terre et pas en dehors de la région de la carte?
Coordonnées pour l'Amérique du Nord:
var strictBounds = new google.maps.LatLngBounds( new google.maps.LatLng(28.70, -127.50), new google.maps.LatLng(48.85, -55.90) );
J'ai essayé (+90, -180)(-90,180)
sans chance.
Les liens fournis par @Marcelo & @Doc sont bons pour comprendre la dérivation de Lat Lng:
Mais si vous voulez juste une réponse pour les limites maximales pour Google Maps :
Latitude: -85 to +85
(en fait -85.05115 pour une raison quelconque )
Longitude: -180 to +180
Essayez -le vous-même sur Google Maps:
(Vous devrez peut-être diminuer . Voyez comment la broche est au «bord» du monde – ce sont les limites )
Donc dans votre code Essayez :
var strictBounds = new google.maps.LatLngBounds( new google.maps.LatLng(85, -180), // top left corner of map new google.maps.LatLng(-85, 180) // bottom right corner );
Veuillez modifier ce wiki (ou mettre à jour votre question) une fois que vous avez la réponse. Merci
Consultez cette publication dans les anciens Groupes Google, qui décrit les calculs de la projection.
Citation:
La carte ne commence pas à 85 degrés, mais plutôt le degré qui rend la carte carrée. Ceci peut être simplement calciné comme: atan (sinh (PI)) * 180 / PI = 85.05112878 ….
Notez que le calcul de la tuile dans cette publication est pour l'ancienne API V2, mais la projection devrait être la même.
Vous pouvez faire ce qui suit pour obtenir les limites Max Lat et Long du monde avec l'aide de Google Maps:
1: Définissez le niveau de zoom 1 de Google Maps lors de la configuration de Google Map Stuff:
mapOptions = { zoom: 1, ..... }
2. Faites ce qui suit pour obtenir NorthEast et SouthWest Bound de cette carte:
Map = new google.maps.Map (document.getElementById ('map-canvas'), mapOptions);
// NorthEast Latitude : 89.45016124669523 var latNEValue = map.getBounds().getNorthEast().lat(); // NorthEast Longitude : 180 var longNEValue = map.getBounds().getNorthEast().lng(); // SouthWest Latitude : -87.71179927260242 var latSWValue = map.getBounds().getSouthWest().lat(); // Southwest Latitude : -180 var longSWValue = map.getBounds().getSouthWest().lng();
3. Il vous donnera les limites suivantes du Nord-Est et de SouthWest:
Latitude nord: 89.45016124669523
Nord-est Longitude: 180
SouthWest Latitude: -87.71179927260242
Longitude sud-ouest: -180
De même sur le niveau de zoom 0, il donne les points suivants:
Latitude Nord: 89.99346179538875
Nord-est Longitude: 180
Sud-Ouest Latitude: -89.98155760646617
Longitude sud-ouest: -180
Une astuce ci-dessus m'a aidé à résoudre le problème de mon entreprise qui nécessitait max lat / long.
Pour plus de détails sur les valeurs GPS, vous pouvez lire cet article.
L'article explique que: