Как рассчитать расстояние между двумя точками, а затем отобразить путь?

1

Мне нужно рассчитать расстояние между двумя местоположениями в приложении для Android. Затем мне нужно отобразить путь на карте.

Похоже, мне нужно использовать какой-то Google API для вычисления расстояния. Должно ли это API Google Directions API? Документация для Android говорит, что я должен использовать внешнюю библиотеку Google Maps, но я не вижу там никакого метода для этого. Возможно, если я хочу просто рассчитать расстояние между двумя точками, а не ходить, то лучше использовать упрощенный упрощенный подход.

Затем отобразить карту - в чем преимущество использования MapView по сравнению с открытием соответствующего URL-адреса в браузере пользователя? Хотелось бы избежать следующих действий:

Когда вы готовы освободить приложения, вы должны зарегистрировать свой выпустить сертификат с помощью Google Сервис Карты и получить новый API Карт Ключ. Затем вы должны изменить MapView элементов в вашем приложении ссылку на новый ключ API.

  • 1
    Вы ищете направление движения или просто прямую линию между точками?
  • 0
    Нет необходимости избегать получения ключа API. Они бесплатны и их легко получить.
Показать ещё 1 комментарий
Теги:
google-maps
geolocation

2 ответа

1
Лучший ответ

Расстояние между двумя точками можно найти, используя приведенное здесь уравнение: http://williams.best.vwh.net/avform.htm#Dist помните, используйте радианы, а не градусы!

Кажется, у вас есть проблема с обновлением ключа карт в каждой версии? У меня есть приложение на рынке, основанное на карте, и вы получаете 1 ключ prod и 1 отладочный ключ (я считаю, это за разработчика, но если нет, это за приложение). Это связано с ключом, который вы используете для подписи вашего apk. Я говорю, что если вы получите свой ключ prod api и только когда-либо разрабатываете это приложение, вы можете опубликовать много обновлений без необходимости снова трогать ключ (если вы не выполняете локальное тестирование отладочного ключа), Если вас это беспокоит, вы можете сохранить оба в файле AndroidManifext.xml и просто прокомментировать нерелевантный, в зависимости от того, развертываетесь ли вы на устройство или эмулятор.

8

Вы также можете просто сделать это:

//your two locations
Location locationA;
Location locationB;

//distance between them
float distanceBetweenPoints = locationA.distanceTo(locationB);

немного поздно, но, надеюсь, это поможет:)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню