Google Directions в мобильных приложениях, пешая доступность между двумя точками — минимизация отклика

Я работаю над мобильным приложением и хочу рассчитать расстояние между двумя точками с помощью Google Directions API (http://code.google.com/apis/maps/documentation/javascript/services.html#Directions).

У меня есть список мест, и я хотел бы показать этот список, упорядоченный по расстоянию (от позиции пользователя). Это можно сделать, выполнив запрос с помощью Google API, посмотрите следующий пост, есть рабочий пример: Android: как узнать расстояние между двумя географическими координатами?).

Мои вопросы:

1) Можно ли одним запросом рассчитать расстояние от одного источника (моя текущая позиция) до нескольких точек (мест)?

2) Можно ли уменьшить размер ответа (чтобы уменьшить сетевой трафик)? Мне просто нужно расстояние + необходимое время. Я хотел бы показывать карту только тогда, когда пользователь щелкает элемент в списке.

Заранее большое спасибо за вашу помощь.

Мауро


person Mauro    schedule 23.03.2011    source источник


Ответы (1)


Вам следует просмотреть google.maps.DirectionsLeg и этот пример.

person Haochi    schedule 23.03.2011
comment
Большое спасибо за ваш ответ. На самом деле у меня проблема немного в другом. У меня есть одна точка отправления (A) и 3 точки прибытия (B, C, D). Я хотел бы рассчитать все три расстояния и найти кратчайшее. Можно ли это сделать одним запросом? Еще одна проблема, с которой я сейчас сталкиваюсь, — это размер ответа Google. Я провел тест, используя один пункт отправления и один пункт прибытия, и получил json-ответ размером 30 КБ. Поскольку я планирую свести к минимуму сетевой трафик, 30k с бесполезной дополнительной информацией показались мне слишком большими для одного вызова API. Спасибо за помощь! - person Mauro; 24.03.2011
comment
@Mauro Вторая ссылка - это то, что вам нужно. Ознакомьтесь с документом по нему. По умолчанию служба Directions рассчитывает маршрут через предоставленные путевые точки в заданном порядке. При желании вы можете передать optimizeWaypoints: true в DirectionsRequest, чтобы позволить службе Directions оптимизировать предоставленный маршрут, переставляя путевые точки в более эффективном порядке. Что касается размера ответа, я не думаю, что у них есть варианты для этого. Однако вы можете изучить их документацию. - person Haochi; 24.03.2011