说,这是中心点的坐标:
var initLat = 10.398671;
var initLng = -84.170756;
现在,我想在Google地图上绘制一个矩形。为了实现这一点,我需要知道矩形的其他四个点的坐标。
以下是我为矩形的四个角点计算坐标的尝试。
function getCoordinatesByDistance(meters) {
var coords = [{lat: 10.398671, lng: -84.170756}];
var initLat =coords[0]['lat'];
var initLng = coords[0]['lng'];
var earth = 6378.137; //radius of the earth in kilometer
coords.push(getCoordinate(initLat, initLng, 45, meters, earth));
coords.push(getCoordinate(initLat, initLng, 135, meters, earth));
coords.push(getCoordinate(initLat, initLng, 225, meters, earth));
coords.push(getCoordinate(initLat, initLng, 315, meters, earth));
return coords;
}
function getCoordinate(initLat, initLng,deg, meters, earth) {
var m = (1 / ((2 * Math.PI / deg) * earth)) / 1000; //1 meter in degree
return {
lat: initLat + meters * m,
lng: initLng + (meters * m) / Math.cos(initLat * (Math.PI / 180)),
}
}
但是上述函数返回的坐标在Google地图中的形状是直线而不是矩形。有什么建议可以获取要点以矩形的形状吗?