REST API для пробега? - PullRequest
       10

REST API для пробега?

11 голосов
/ 19 февраля 2010

Есть ли служба, которая даст мне расстояние между двумя адресами? Очевидно, API Карт Google требует, чтобы вы отображали карту, что я не хочу делать (на этой конкретной странице), и я хотел бы просто зацепить данные и сохранить их в моей БД после того, как пользователь отправит форму, скорее чем ждать, пока JS сделает это.


Если это уместно, это входит в приложение Django. Я обнаружил, что CloudMade предлагает API Python, что приятно, за исключением того, что в их последнем выпуске dev есть ошибка (не может использовать объект API), но, что более важно, поддержка Канады ужасна не смог найти направление от любого крупного города здесь!).

Ответы [ 7 ]

9 голосов
/ 07 июня 2010

API Направлений MapQuest основан на HTTP Querystring (я не уверен, что он полностью RESTful). Может получить ответ XML или JSON. Просто нужно отправить запрос HTTP GET.

http://developer.mapquest.com/web/products/open/directions-service

Использовать параметр ответа «расстояние».

8 голосов
/ 06 апреля 2012

У меня недостаточно высокой репутации на SO, чтобы комментировать ответ, но я просто хотел пояснить, что вопреки выбранному голосу правильный ответ, API Google Directions должен придерживаться API Карт Google. Если вы прокрутите вниз предоставленную ссылку, вы увидите:

Примечание. API-интерфейсы можно использовать только в сочетании с отображением результатов на карте Google; Использование данных о маршрутах без отображения карты, для которой запрашивались данные о маршрутах, запрещено. Кроме того, расчет направлений генерирует авторские права и предупреждения, которые должны отображаться пользователю каким-либо образом. Подробные сведения о разрешенном использовании см. В разделе «Условия лицензии на использование API Карт».

3 голосов
/ 24 февраля 2014

Вот мое решение:

  1. Регистрация в сети Mapquest Developer.
  2. Get AppId
  3. Откройте командную оболочку и выполните следующую команду (или используйте fiddler) Но запуск его через curl даст вам гибкость в автоматизации вашего запроса

    curl -X POST -H "Content-Type: application/json" -d '{locations: ["Salt Lake City, UT","Ogden, UT",],options: {allToAll: false}}' http://www.mapquestapi.com/directions/v2/routematrix?key=YOURKEYGOESHERE >> distance.txt
    
  4. Сохраните указанную выше команду со всеми пунктами назначения в пакетном или sh файле.

  5. Теперь выполните grep и проанализируйте ваш файл distance.txt для того, что вам нужно.
3 голосов
/ 21 апреля 2010

Можно ли будет использовать объект Google Maps GDirections?Это может вернуть текстовые указания вместо наложения карты, если вызывается с объектом div.Оттуда вы можете использовать функции getDistance (или getDuration).Вы всегда можете использовать невидимый div для возвратов, если вы не хотите, чтобы на странице отображалось что-либо.И используйте этот пример кода

   var map;
    var directionsPanel;
    var directions;

    function initialize() {
      directionsPanel = document.getElementById("route");
      directions = new GDirections(null, directionsPanel);
      GEvent.addListener(directions , "load", onGDirectionsLoad);
      directions.load("from: 500 Memorial Drive, Cambridge, MA to: 4 Yawkey Way, Boston, MA 02215 (Fenway Park)");
    }

    function onGDirectionsLoad(){ 
      alert(directions.getDistance().html);
    }
2 голосов
/ 28 апреля 2010

Посмотрите на Navteq.Я воспользовался этим сервисом при разработке приложения для направления движения около 5 лет назад и получил хорошие результаты.Не могу говорить за них в последнее время, хотя.Я считаю, что лучшим URL является Служба маршрутизации Navteq

2 голосов
/ 19 февраля 2010

Существуют бесплатные услуги, но качество данных может быть сомнительным / не существует в некоторых областях.Знайте также о лицензиях на данные, хранение в вашей собственной БД может быть нарушением.

http://openrouteservice.org/

1 голос
/ 25 июня 2010

Вы можете использовать новый API Google Directions напрямую, без использования JavaScript. http://code.google.com/apis/maps/documentation/directions/

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