Вычислите расстояние между двумя точками в Google отображает V3

и Сквид и nginx специально предназначены для этого. nginx особенно легко настроить для фермы сервера и может также быть frontend к FastCGI.

311
задан Mathias Bynens 7 March 2014 в 06:03
поделиться

3 ответа

If you want to calculate it yourself, then you can use the Haversine formula:

var rad = function(x) {
  return x * Math.PI / 180;
};

var getDistance = function(p1, p2) {
  var R = 6378137; // Earth’s mean radius in meter
  var dLat = rad(p2.lat() - p1.lat());
  var dLong = rad(p2.lng() - p1.lng());
  var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
    Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) *
    Math.sin(dLong / 2) * Math.sin(dLong / 2);
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
  var d = R * c;
  return d; // returns the distance in meter
};
447
ответ дан 23 November 2019 в 01:10
поделиться

См. Функцию distanceFrom в объекте GLatLng; параметры функции немного изменились между v2 и v3.

1
ответ дан 23 November 2019 в 01:10
поделиться

Вы можете получить хорошую точность за счет увеличения времени обработки с помощью алгоритма Винсенти, реализованного в Javascript .

8
ответ дан 23 November 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: