Можно воспользоваться методом Google Maps API
computeArea() – туда первым параметром передать массив из 4 точек вашего прямоугольника.
Upd. Чуть погуглив, нашёл
формулу для вычисления площади:
A = 2*pi*R^2 |sin(lat1)-sin(lat2)| |lon1-lon2|/360
= (pi/180)R^2 |sin(lat1)-sin(lat2)| |lon1-lon2|
Т.е. на JavaScript это будет примерно так:
// Площадь прямоугольника, заданного двумя параллелями и двумя меридианами
function area( lat1, lat2, lng1, lng2, R) {
R = R || 6371000; // радиус Земли в метрах
var k = Math.PI / 180;
return k * R * R
* Math.abs( Math.sin(lat1 * k) - Math.sin(lat2 * k))
* Math.abs( lng1 - lng2);
}
У меня по вашим координатам
получилась в Google площадь
205804.64643832657
, а своим JS кодом
205344.32281511626
– наверное, из-за значения радиуса Земли, которое я взял из Вики, а Google нашёл более точное для этой широты.
area( 65.758185, 65.762301, -169.115964, -169.106136) // 205344.32281511626