从当前缩放谷歌地图获取经度和纬度的边界

Sam*_*oud 50 maps google-maps-api-3

我需要知道当前区域的四个角的长和纬度,如图中所示

在此输入图像描述

我试过这个,但没有运气:

map.getBounds();
Run Code Online (Sandbox Code Playgroud)

任何帮助?

Tom*_*mik 102

你在中途.您需要做的就是获取地图边界,然后提取(并正确使用)角落的坐标.

var bounds = map.getBounds();
var ne = bounds.getNorthEast(); // LatLng of the north-east corner
var sw = bounds.getSouthWest(); // LatLng of the south-west corder
Run Code Online (Sandbox Code Playgroud)

你从上面的两个角落得到了西北角和东南角:

var nw = new google.maps.LatLng(ne.lat(), sw.lng());
var se = new google.maps.LatLng(sw.lat(), ne.lng());
Run Code Online (Sandbox Code Playgroud)

请记住,映射必须已初始化,否则映射边界为null或未定义.

如果要更新有关视口的每个更改,请使用idle事件侦听器:

google.maps.event.addListener(map, 'idle', function(ev){
    // update the coordinates here
});
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你让我免于使用我的大脑找到新的角落. (3认同)