Альтернативы сервису Googles Distance Matrix?
Я работаю над калькулятором расценок, который будет генерировать расценки на основе расстояния между различными точками (среди прочих условий). Еще два дня назад я планировал пользоваться службой Google Matrix Distance, пока не обнаружил:
Отображение карты Google
Использование службы "Матрица расстояний" должно относиться к отображению информации на карте Google; например, чтобы определить пары "источник-пункт назначения", попадающие в определенное время вождения друг от друга, перед запросом и отображением этих пунктов назначения на карте. Использование сервиса в приложении, которое не отображает карту Google, запрещено.
Я надеялся использовать только те услуги, которые мне нужны:
- Расстояние по дороге Измерение между до трех разных местах
- Служба автозаполнения адресов, используемая в поле ввода
- Точный, надежный сервис, который может предоставить несколько различных маршрутов для создания среднего расстояния
Я знаю, что для этого есть другие методы, но я сомневаюсь, что многие из них могут быть такими же точными и надежными, как Google. Мне было сложно найти что-то сопоставимое с Google Maps для тех целей, которые мне нужны.
Так что, если вы, ребята, не можете указать мне на то, что я могу использовать, мой единственный вариант - использовать Google Map там, где она мне не нужна, добавляя дополнительное время загрузки и изменяя дизайн UX, который я запланировал.
Есть ли какие-либо бесплатные сервисы для того, что мне нужно (желательно с JS API)?
На немного другой ноте
Если я использую карту Google, должна ли она отображаться немедленно, или я могу скрыть ее и добавить опцию "Показать на карте", чтобы ее можно было открыть.slideToggle?
4 ответа
К сожалению, для API Матрицы расстояний Google строго говорит, что вам необходимо отобразить карту в вашем приложении:
Использование API Матрицы расстояний должно относиться к отображению информации на карте Google; например, чтобы определить пары "источник-пункт назначения", попадающие в определенное время вождения друг от друга, перед запросом и отображением этих пунктов назначения на карте. Использование сервиса в приложении, которое не отображает карту Google, запрещено. http://developers.google.com/maps/documentation/distancematrix/
Однако то, что я считаю более полезным для вас, - это Google Directions API. API направлений позволяет вам удовлетворить ваши требования.
Общее расстояние возвращается в объекте JSON из запроса.
Вы можете выбрать любое количество разных мест, чтобы найти расстояния между путевыми точками в вашем поисковом запросе. Расстояния между этими местоположениями затем возвращаются в каждую " ногу".
Вы можете получить среднее расстояние от нескольких разных маршрутов до пункта назначения, указав
alternatives
Параметр в вашем поисковом запросеtrue
, См. http://developers.google.com/maps/documentation/directions/.Лучше всего то, что от Google не требуется отображать карту Google в вашем приложении при использовании этого сервиса.
Я должен также упомянуть недостатки этого сервиса, если вы решите использовать его.
- Время, необходимое для обработки вашего запроса, будет немного больше, чем если бы вы использовали API матрицы расстояний.
- У вас будет много ненужных данных в возвращаемом объекте, например, отдельные "шаги" маршрута в возвращенном объекте json не нужны в зависимости от требований вашего приложения.
Учитывая недостатки, я все равно настоятельно рекомендую изучить API-адреса для вашего приложения.
Многие разработчики смогли сделать это с помощью службы маршрутизации REST Bing Maps http://msdn.microsoft.com/en-us/library/ff701705.aspx. Это требует немного больше развития, но работает хорошо. Вот пример: http://code.msdn.microsoft.com/Bing-Maps-trip-optimizer-c4e037f7
Я не знаю, считаются ли Статические Карты Google картой, но это должно быть, так как это Карта и от Google. Вы можете рассчитать маршрут, а затем показать его в виде изображения из статических карт. Не требуется дополнительное время загрузки карты. Только одно изображение.
https://developers.google.com/maps/documentation/staticmaps/
Streetmap и arcserver могут решить проблему маршрутизации транспортных средств, но это не бесплатно. Подробнее читайте здесь: http://www.esri.com/data/streetmap.