2010-02-25 6 views
-1

Я ищу разработку/получение простого приложения GMaps для моего сайта, которое позволяет пользователю построить две точки и получить расстояние между ними.Простой инструмент для сопоставления карт Google для моего сайта

Это приложение, которое идеально подходит для меня.

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

Кто-нибудь знает, если что-то подобное доступно для скачивания? Кроме того, было бы сложно/потребовать много времени для этого?

К сожалению, это всего лишь небольшая часть гораздо большего проекта, поэтому я не смогу потратить на это слишком много времени.

Любые советы очень ценятся.

Спасибо, Conor

ответ

5

С Google Maps использует широту и долготу, вы должны сделать преобразование в предпочтительной системе измерения, чтобы получить расстояние по прямой линии.

Here's one that uses kilometers;

var R = 6371; // km 
var dLat = (lat2-lat1).toRad(); 
var dLon = (lon2-lon1).toRad(); 
var a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
     Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) * 
     Math.sin(dLon/2) * Math.sin(dLon/2); 
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
var d = R * c; 

Однако из API карт Google Maps v2 вы можете получать ориентировочные данные из маршрутов. Посмотрите на ссылку GDirections для ссылки API. Я использовал его в одном проекте, и он отлично работает.

0

ли, если он может помогает не знать, но вольфрам позволяет запрашивать расстояния (среди других функций), например:

distance from Los Angeles to New York 

дает вам это answer

Но вы также можете запросить координаты, поэтому, возможно, вы сможете получить координаты по пользователям, нажав на свою карту и запросите что-то вроде:

distance from 40.34N 74.00W to 40.34N 12.00W 

Который дает this result

+0

Спасибо за ответы, ребята, но я не думаю, что любой из них покрыли то, что я ищу. По сути, я хочу сделать окно GMap, которое позволяет использовать график двух точек на карте. Я думаю, что вычисление расстояния между двумя точками было бы тривиальным, используя API GMap. – conor

0

Вы могли бы, а это MeasureTool для Google Maps

https://github.com/zhenyanghua/MeasureTool-GoogleMaps-V3

Например, ссылка на geometry библиотеку, а затем var measureTool = new MeasureTool(map);.

Вот живой demo

+0

В этом случае это не ваша ошибка, потому что вопрос не соответствует теме, но учтите, что в целом ответ, который рекомендует какой-либо инструмент или библиотеку, должен продемонстрировать, как он решает проблему в самом ответе. –