如何获取谷歌地图角落的坐标?

Ami*_*ani 5 javascript google-maps google-maps-api-3 web

我需要仅使用四个坐标绘制多边形,即缩放 13 中加载的地图的四个角,另一方面,获取整个地图的坐标以显示给用户。(用户搜索特定区域并在地图上绘制多边形,但如果他/她不绘制多边形,我想为他/她绘制投影地图大小的多边形并显示结果。)

dun*_*can 16

以缩放创建地图:13

var map = new google.maps.Map(document.getElementById("map"), {
    center: {lat: 51.561162, lng: -0.163331},
    zoom: 13
});
Run Code Online (Sandbox Code Playgroud)

然后用于map.getBounds()获取可见地图的 LatLngBounds。

var bounds = map.getBounds();
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用它来获取西南角和东北角的 LatLng 坐标:

var NECorner = bounds.getNorthEast();
var SWCorner = bounds.getSouthWest();
Run Code Online (Sandbox Code Playgroud)

然后你可以使用它们来计算其他两个角的坐标:

var NWCorner = new google.maps.LatLng(NECorner.lat(), SWCorner.lng());
var SECorner = new google.maps.LatLng(SWCorner.lat(), NECorner.lng());
Run Code Online (Sandbox Code Playgroud)

最后绘制多边形,使用paths数组的这些角:

var polygon = new google.maps.Polygon({
    map: map,
    paths: [NWCorner, NECorner, SECorner, SWCorner],
    fillColor: 'red',
    fillOpacity: 0.7
});
Run Code Online (Sandbox Code Playgroud)