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

时间:2015-10-29 06:34:23

标签: javascript google-maps google-maps-api-3 web

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

2 个答案:

答案 0 :(得分:3)

以缩放:13

创建地图
var map = new google.maps.Map(document.getElementById("map"), {
    center: {lat: 51.561162, lng: -0.163331},
    zoom: 13
});

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

var bounds = map.getBounds();

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

var NECorner = bounds.getNorthEast();
var SWCorner = bounds.getSouthWest();

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

var NWCorner = new google.maps.LatLng(NECorner.lat(), SWCorner.lng());
var SECorner = new google.maps.LatLng(SWCorner.lat(), NECorner.lng());

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

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

答案 1 :(得分:0)

感谢邓肯 Lemme为Kotlin开发人员写了简短的文字

var bounds = googleMap!!.projection.visibleRegion.latLngBounds
var neCorner = bounds.northeast
var swCorner = bounds.southwest
var nwCorner = LatLng(neCorner.latitude, swCorner.longitude)
var seCorner = LatLng(swCorner.latitude, neCorner.longitude)