Android: найдите самый быстрый маршрут между 2 или более точками, выходящими на улицы в GoogleMaps

Добавляю маркеры в мое приложение на GoogleMapsмои маркеры всегда находятся на улицах. Например, у меня более 2 маркеров на карте, мне нужно нарисовать оптимальный маршрут между ними в зависимости от улиц. Есть ли какой-нибудь сервис, чтобы помочь мне, или мне нужно создать свой собственный алгоритм? До сих пор я немного работал с Google Elevation API а также Google Direction API, но сейчас мне нужно Google Roads APIнайти оптимальные дороги между точками? Это должно быть что-то похожее на мои потребности.

1 ответ

Попробуйте использовать следующую библиотеку: https://github.com/akexorcist/Android-GoogleDirectionLibrary

GoogleDirection.withServerKey("YOUR_SERVER_API_KEY")
        .from(new LatLng(37.7681994, -122.444538))
            .to(new LatLng(37.7749003,-122.4034934))
            .avoid(AvoidType.FERRIES)
            .avoid(AvoidType.HIGHWAYS)
            .execute(new DirectionCallback() {
    @Override
    public void onDirectionSuccess(Direction direction, String rawBody) {
        if(direction.isOK()) {
            // Do something
        } else {
            // Do something
        }
    }

    @Override
    public void onDirectionFailure(Throwable t) {
        // Do something
    }
});

Gradle

compile 'com.akexorcist:googledirectionlibrary:1.0.5'
Другие вопросы по тегам