La vue du terrain de Google Maps par défaut a un panoramique illimité de la tuile de la carte. Vous pouvez utiliser LatLngBounds()
pour limiter cela, mais quelles sont les coordonnées maximales et minimales que je devrais utiliser pour définir la fenêtre comme juste la terre et non 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)
pas de chance.
Les liens fournis par @Marcelo & @Doc sont bien pour comprendre la dérivation du Lat Lng:
Mais si vous juste voulez 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 par vous-même sur Google Maps:
(Vous devrez peut-être Zoom arrière. 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
Voir cet article dans les anciens groupes Google, qui décrit les mathématiques 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 calaculé comme: atan (sinh (PI)) * 180/PI = 85.05112878 ....
Notez que le calcul des tuiles dans ce post 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 à 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. Procédez comme suit pour obtenir la limite nord-est et sud-ouest 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();
. Il vous donnera les limites nord-est et sud-ouest suivantes:
Latitude nord-est: 89,45016124669523
Longitude nord-est: 180
Latitude sud-ouest: -87.71179927260242
Longitude sud-ouest: -180
De même au niveau de zoom 0, cela donne les points suivants:
Latitude nord-est: 89,99346179538875
Longitude nord-est: 180
Latitude sud-ouest: -89,98155760646617
Longitude sud-ouest: -180
L'astuce ci-dessus m'a aidé à résoudre mon problème professionnel qui nécessitait une lat/max max.
pour plus de détails sur les valeurs GPS, vous pouvez lire l'article this .
L'article explique que: