Maximum Lat and Long bounds for the world - Google Maps API LatLngBounds()

The Google Maps terrain view by default has unlimited panning of the map tile. You can use LatLngBounds() to limit this, but what are the maximum and minimum coordinates I should use to set the viewport as just the earth and not outside the map region?

Coordinates for North America:

var strictBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(28.70, -127.50), 
    new google.maps.LatLng(48.85, -55.90)
);

I've tried (+90, -180)(-90,180) to no luck.

Answers:

Answer

The links provided by @Marcelo & @Doc are good for understanding the derivation of the Lat Lng:

But if you just want an answer for the maximum bounds for Google Maps:

Latitude: -85 to +85 (actually -85.05115 for some reason)

Longitude: -180 to +180

Try it for yourself on the Google Maps:

(You may need to Zoom Out. See how the pin is at the "edge" of the world - these are the limits)

So in your code Try:

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
);

Please edit this wiki (or update your question) once you have the answer. Thanks

Answer

See this post in the old Google Groups, which describes the math of the projection.

Quote:

the map doesn't start at 85 degrees, but rather the degree that makes the map square. This is can be simply calaculated as: atan(sinh(PI)) *180 / PI = 85.05112878....

Note that the tile calculation in that post is for the old API V2, but the projection should be the same.

Answer

You may do the following to get the Max Lat and Long bounds of the world with the help of Google Maps :

1: Set the Zoom Level 1 of Google Maps While setting up the Google Map Stuff :

mapOptions = {
                zoom: 1,
 .....
}

2. Do the following to get NorthEast and SouthWest Bound of this Map :

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. It will give you following NorthEast and SouthWest Bounds :

NorthEast Latitude : 89.45016124669523

NorthEast Longitude : 180

SouthWest Latitude : -87.71179927260242

Southwest Longitude : -180

Similarly on Zoom Level- 0 , It give following points :

NorthEast Latitude : 89.99346179538875

NorthEast Longitude : 180

SouthWest Latitude : -89.98155760646617

Southwest Longitude : -180

Above trick helped me to solve my business problem which required max lat/long.

Answer

for more details in GPS values you can read this article.

Article explain that :

  • Latitude is the distance from the Equator measured along the Greenwich Meridian. This distance is measured in degrees and ranges between 0º to 90º North and South.
  • Longitude is the distance from the Greenwich Meridian measured along the Equator. This distance is measured in degrees and ranges from 0º to 180º East and West.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.