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

Rya*_*die 43 javascript google-maps latitude-longitude google-maps-api-3

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

北美的坐标:

var strictBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(28.70, -127.50), 
    new google.maps.LatLng(48.85, -55.90)
);
Run Code Online (Sandbox Code Playgroud)

我试过(+90, -180)(-90,180)没有运气.

nel*_*nic 82

通过@Marcelo&@doc提供的链接是很好理解的推导的纬度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
);
Run Code Online (Sandbox Code Playgroud)

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

  • 谢谢.我不得不在java中使用以下内容:private static final LatLngBounds EARTH = new LatLngBounds(new LatLng(-84.9,-180),// map左上角的新LatLng(84.9,180)//右下角); (3认同)

Mar*_*elo 8

请参阅旧版Google网上论坛中的这篇文章,其中介绍了投影的数学计算.

引用:

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

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

  • 我正在寻找的所有东西都经过测试,工作在最大最小坐标? (2认同)
  • 然后阅读帖子,了解它并测试坐标.小伙子,我不会为你做功课. (2认同)

Sum*_*ora 5

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

1:在设置Google Map Stuff时设置Google Maps的缩放级别1:

mapOptions = {
                zoom: 1,
 .....
}
Run Code Online (Sandbox Code Playgroud)

2. 执行以下操作以获取此Map的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();
Run Code Online (Sandbox Code Playgroud)

3.它将为您提供以下东北和西南边界:

东北纬度:89.45016124669523

东北经度:180

SouthWest纬度:-87.71179927260242

西南经度:-180

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

东北纬度:89.99346179538875

东北经度:180

SouthWest纬度:-89.98155760646617

西南经度:-180

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