Как получить расстояние от Google Map API со стороны сервера ASP.NET 2.0 - PullRequest
3 голосов
/ 13 марта 2009

Я работаю над проектом, который требует доступа со стороны сервера к API карты Google. Я хочу рассчитать расстояние (фактическое расстояние, а не прямая линия). Google Map API поддерживает Javascript, а не asp.net. пожалуйста, дайте предложения ...!

Ответы [ 6 ]

2 голосов
/ 13 марта 2009

вы указали карты Google в своем вопросе - но вы смотрели на Virtual Earth? В частности, этот пример маршрутизации с веб-службой Virtual Earth звучит именно так, как вы хотите:

  • доступ на стороне сервера (просто добавьте ссылку на службу в visual studio)
  • фактическое расстояние (не прямая линия), поскольку оно использует маршрут

Опасения, высказанные другими в отношении условий и положений для «внутреннего / интранет-использования», относятся и к VE, и к Google, я думаю - вам придется узнать, требуется ли ваше приложение для лицензирования.

p.s. если вы действительно просто хотите рассчитать прямолинейное расстояние, у меня есть инструкции с использованием SQL Server 2008 ; который также ссылается на некоторый прямой код C # , который тоже это делает.

2 голосов
/ 13 марта 2009

Google API позволяет геокодировать с помощью вызова на стороне сервера:

http://code.google.com/apis/maps/documentation/services.html#Geocoding_Direct

Это позволит вам получить долготу и широту мест. Затем вы можете их кэшировать и использовать их для расчета расстояния, используя методы, предлагаемые CMS.

Вам нужно быть осторожным с Условиями использования Google, поскольку вам разрешено хранить данные геокодирования только для использования на общедоступной карте Google.

Возможно, вы также столкнетесь с ограничениями на количество запросов, которые вы можете сделать с одного IP.

Однако я думаю, что вы подразумеваете под расстоянием не по прямой линии расстояние, учитывая дороги, улицы с односторонним движением и т. Д.

Если это так, я думаю, что коммерческий сервис - это ваш единственный вариант. Хотя теоретически вы можете сделать все это с помощью скриншота экрана, я почти уверен, что это нарушит правила Google.

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

Опять же, если это для внутреннего приложения, т. Е. Не общедоступного "мое понимание" Google T & C запретило бы это.

1 голос
/ 13 марта 2009

Используйте что-то вроде firebug или fiddler, чтобы посмотреть на запросы, отправляемые в Google из javascript, после чего вы сможете составить запрос, используя эту информацию и HTTPWebRequest в .net, и получить ту же информацию.

НТН

0 голосов
/ 07 апреля 2010

Если бы я использовал платформу API, я бы, конечно, не использовал Google, поскольку бесплатная не включает в себя достижения Геокодирование, указывающее на низкую точность. Также нет ни сла, ни поддержки, ни прав на обслуживание.

Направления плохие, охват Ирландии и геокодирования почти детский, а конфиденциальность воняет. Ни один профессиональный бизнес не использовал бы картографическое решение Google.

Они копируют идею всех остальных, говорят, что они там есть, и получают массу прессы (они только добавили станции метро в 2006 году) и циклические переулки (2010), viamichelin добавил эти 2006 и Traffic в 2009 году!

Любое агентство или разработчики, которые ищут API, должны придерживаться Bing или ViaMichelin для лучшей настройки и пользовательского опыта, который является убийцей!

0 голосов
/ 13 марта 2009

Что ж, вы в значительной степени определили ключевую проблему, Gmaps API - это резидентный API-интерфейс браузера, и от этого мало что можно обойти. Большая часть API-интерфейса выполняется в браузере, поэтому шпионить за сетевым трафиком не так много.

Как упоминает tsaunders, есть вызов API геокодирования, который доступен для всех, но он выполняет только реверс / геокодирование, и если у вас уже есть значения lat / lng, вы можете использовать вычисления, предложенные среднеквадратичным значением, но они, как указывает tsaunders, расстояние вороны.

Если вы действительно ищете расстояние, пройденное дорогой, API выполняет маршрутизацию, но вы вернулись в браузер, чтобы получить начальную / конечную точки от пользователя.

Возможно, вы можете немного подробнее рассказать о том, что вы пытаетесь сделать, и почему вы чувствуете, что для этого требуется доступ к API с вашего сервера. Например, мое приложение имеет функции, которые собирают информацию от пользователя и отправляют запросы обратно на мой сервер для работы, некоторые из этих данных сначала обрабатываются API Gmaps.

0 голосов
/ 13 марта 2009

Вы можете рассчитать расстояние двух географических координат (широта, долгота), используя алгоритм Расстояние по большому кругу .

Здесь вы можете найти некоторые другие формулы для расчета расстояния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...