全球最大纬度和长度边界 - Google Maps API LatLngBounds()

时间:2012-08-07 15:52:32

标签: javascript google-maps google-maps-api-3 latitude-longitude

默认情况下,Google地图地形视图可以无限制地平移地图图块。您可以使用LatLngBounds()来限制此值,但是我应该使用哪个最大和最小坐标来将视口设置为地球而不是地图区域之外?

北美协调:

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

我已经尝试(+90, -180)(-90,180)没有运气。

4 个答案:

答案 0 :(得分:80)

@Marcelo&提供的链接@Doc good 用于理解Lat Lng的派生

但如果您只是想要 Google地图最大边界的答案:

Latitude: -85 to +85实际上由于某种原因-85.05115

Longitude: -180 to +180

在Google地图上亲自试用

(您可能需要缩小。看看该引脚位于世界的“边缘” - 这些是限制

因此,在您的代码中尝试

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

请在得到答案后编辑此维基(或更新您的问题)。感谢

答案 1 :(得分:8)

请参阅旧版Google网上论坛中的this post,其中介绍了投影的数学计算。

引用:

  

地图不是以85度开始,而是以度数开始   使地图正方形。这可以简单地计算为:   atan(sinh(PI))* 180 / PI = 85.05112878 ....

请注意,该帖子中的磁贴计算是针对旧API V2的,但投影应该相同。

答案 2 :(得分:4)

您可以在Google地图的帮助下执行以下操作以获取世界的最大拉特和长边界:

1:在设置Google地图资料时设置Google地图的缩放级别1:

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

2。执行以下操作以获取此地图的NorthEast和SouthWest Bound:

  

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. 它将为您提供以下NorthEast和SouthWest Bounds:

  

NorthEast Latitude:89.45016124669523

     

东北经度:180

     

西南纬度:-87.71179927260242

     

西南经度:-180

同样在Zoom Level-0上,它给出了以下几点:

  

NorthEast Latitude:89.99346179538875

     

东北经度:180

     

西南纬度:-89.98155760646617

     

西南经度:-180

上面的技巧帮我解决了我的业务问题,需要max lat / long。

答案 3 :(得分:3)

有关GPS值的更多详细信息,请参阅this文章。

文章解释说:

  • 纬度是沿格林威治子午线测量的赤道距离。该距离以度为单位测量,范围介于0°至90°之间。
  • 经度是沿着赤道测量的格林威治子午线的距离。该距离以度为单位,范围为0°至180°东西方。