2

要在谷歌地图中绘制一个矩形,我需要知道西北和东南点首先构建一个 LatLngbounds。

在我的情况下,我想绘制一个具有特定西北点和大小(比如 100 米宽和 100 米高)的矩形。我不知道最南端。

我害怕几何学和地质学。我知道东南可以派生一些公式。只是想知道是否有 api 或简单的方法可以做到这一点?

4

2 回答 2

5

你可以写一个这样的函数:

// Given the LatLng of a northwest corner, and the number of meters to
// measure east and south, return the LatLngBounds for that rectangle
function makeBounds( nw, metersEast, metersSouth ) {
    var ne = google.maps.geometry.spherical.computeOffset(
        nw, metersEast, 90
    );
    var sw = google.maps.geometry.spherical.computeOffset(
        nw, metersSouth, 180
    );
    return new google.maps.LatLngBounds( sw, ne );
}

这是一个工作示例

于 2013-04-12T11:04:38.240 回答
1

请参阅几何库中的computeOffset

计算偏移(从:LatLng,距离:数字,航向:数字,半径?:数字)

类似的东西(未测试):

var NorthEast = google.maps.geometry.spherical.computeOffset(NorthWest, width, 90);
var SouthWest = google.maps.geometry.spherical.computeOffset(NorthWest, height, 180);
var SouthEast = google.maps.LatLng(SouthWest.lat(),NorthEast.lng());

一定要包括几何库

于 2013-04-12T10:51:51.530 回答