Не оптимизируется путь в google maps

201
04 июля 2018, 22:40

Пишу android приложение с картой от google. Написал код для запроса маршрута с использованием "google-maps-services:0.2.7". Промежуточные точки передаются строкой, параметр оптимизации пути указан, но маршрут все равно строится по последовательности указания точек.

Код запроса:

        String waypointsString = "";
        for(int i = 0; markersList.size() > i; i++){
            waypointsString += markersList.get(i).latitude + "," + markersList.get(i).longitude + "|";
        }
        String cur_pos_coords = latitude + "," + longitude;
        GeoApiContext geoApiContext = new GeoApiContext.Builder()
                .apiKey(mapsApiKey)
                .build();
        DirectionsResult result = null;
        try {
            result = DirectionsApi.newRequest(geoApiContext)
                    .mode(TravelMode.WALKING)
                    .origin(cur_pos_coords)//Место старта
                    .destination(cur_pos_coords)//Пункт назначения
                    //.waypoints(markersList.get(0).latitude + "," + markersList.get(0).longitude+ "|"+ markersList.get(1).latitude + "," + markersList.get(1).longitude+"|"+markersList.get(2).latitude + "," + markersList.get(2).longitude)
                    .waypoints(waypointsString)
                    .optimizeWaypoints(true)
                    .language("ru")
                    .await();
        } catch (InterruptedException | IOException | ApiException e) {
            e.printStackTrace();
        }

Получаю ответ, записываю порядок в массив, но порядок не изменился, то бишь оптимизации пути не было

int[] ar = result.routes[0].waypointOrder;
        for (int i = 0; i < ar.length; i++) {
            Log.d("Point #" + i, "" + ar[i]);
            addMarker(markersList.get(ar[i]).latitude, markersList.get(ar[i]).longitude, i, "Задача №" + ar[i]);
        }

Заранее спасибо за ответы.

UPD

Решение было найдено путем добавления в начало к строке с координатами отрывка "optimize:true|" и комментирования строки вызова метода .optimizeWaypoints(true). В итоге у нас получился такой вызов:

 result = DirectionsApi.newRequest(geoApiContext)
                    .mode(TravelMode.WALKING)
                    .origin(cur_pos_coords)//Место старта
                    .destination(cur_pos_coords)//Пункт назначения
                    .waypoints("optimize:true|" + waypointsString)
                    //.optimizeWaypoints(true)
                    .await();
READ ALSO
Java servlet - bean - жизненный цикл

Java servlet - bean - жизненный цикл

У меня несколько JSP страниц, под каждую есть свой сервлетКак правильно сделать, чтоб bean в спринге создавался и жил только, пока пользователь...

204
Ошибка при создании цикла, компилятор не видит метод

Ошибка при создании цикла, компилятор не видит метод

Компилятор считает строку со статик за ошибку:

190
junit vintage vs junit jupiter. Тест junit vintage не проходит

junit vintage vs junit jupiter. Тест junit vintage не проходит

В чем разница между junit vintage vs junit jupiter? При тестировании конструктора тест junit jupiter проходит, но с junit jupiter выкидывает исключение 'No tests found matching

173