Скажите, вот координата для центральной точки:
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. Любой совет, чтобы получить точки, чтобы сформировать прямоугольник?