要在谷歌地图中绘制一个矩形,我需要知道西北和东南点首先构建一个 LatLngbounds。
在我的情况下,我想绘制一个具有特定西北点和大小(比如 100 米宽和 100 米高)的矩形。我不知道最南端。
我害怕几何学和地质学。我知道东南可以派生一些公式。只是想知道是否有 api 或简单的方法可以做到这一点?
要在谷歌地图中绘制一个矩形,我需要知道西北和东南点首先构建一个 LatLngbounds。
在我的情况下,我想绘制一个具有特定西北点和大小(比如 100 米宽和 100 米高)的矩形。我不知道最南端。
我害怕几何学和地质学。我知道东南可以派生一些公式。只是想知道是否有 api 或简单的方法可以做到这一点?
你可以写一个这样的函数:
// 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 );
}
这是一个工作示例。
请参阅几何库中的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());
一定要包括几何库