Google Maps - строит линии и расстояние (по прямой линии) между несколькими парами широты и долготы - PullRequest
4 голосов
/ 11 марта 2011

Я рассчитываю построить маршрут «по прямой линии» на карте, используя несколько пар долготы и широты.Мне также нужно рассчитать общее расстояние (и желательно расстояние между точками).

Я нашел этот пример http://www.daftlogic.com/projects-advanced-google-maps-distance-calculator.htm, но он гораздо сложнее, чем мне нужно - мне не нужны никакие функции поиска, поскольку у меня уже есть данные по широте и долготе.Тем не менее, способ отображения маршрута - это то, чего я хочу достичь

Существуют ли более простые примеры, на которых я могу опираться, или какие-либо общие рекомендации по достижению этого?

Ответы [ 3 ]

6 голосов
/ 11 марта 2011

Построить маршрут «по прямой линии» легко, просто установите геодезическую опцию полилинии в true:

var geodesic = new google.maps.Polyline({geodesic: true});

Вы можете использовать этот пример: http://code.google.com/apis/maps/documentation/javascript/examples/geometry-headings.html

Чтобы рассчитать расстояние, вы можете использовать библиотеку геометрии API Карт Google V3. http://code.google.com/apis/maps/documentation/javascript/geometry.html

Расчет прост:

var distance = google.maps.geometry.spherical.computeDistanceBetween(latLngOfPointA, latLngOfPointB);

Чтобы вычислить длину пути, вы можете использовать функцию computeLength:

var path = geodesic.getPath();
var length = google.maps.geometry.spherical.computeLength(path)
2 голосов
/ 01 июля 2011

Обязательно включите библиотеку геометрии в свой вызов API Карт Google.

Бутстрап из документации

<script type="text/javascript"       src="http://maps.google.com/maps/api/js?libraries=geometry&sensor=true_or_false">  </script>
0 голосов
/ 03 января 2012

У меня есть файл Excel с формулой Винсенти, который я могу переслать.Точность лучше 20 см на 20 000 км.

...