Рисование направления на картах Google не является непрерывным - PullRequest
0 голосов
/ 15 октября 2019

Я использую эти настройки, чтобы создать направление от местоположения к другому:

PolylineOptions polylineOptions = new PolylineOptions();
polylineOptions.width(15);
polylineOptions.color(colorPrimary);
mMap.addPolyline(polylineOptions.addAll(points));

А на карте это выглядит так:

https://ibb.co/D13xc0T

Как нарисовать непрерывную линию из одной точки в другую без этих прерываний?

Этот код получает очки:

if (direction != null) {
    List<Route> routes = direction.routes;
    Route route = routes.get(0);
    List<Leg> legs = route.legs;
    Leg leg = legs.get(0);
    List<Step> steps = leg.steps;
    for (Step step : steps) {
        String point = step.polyline.points;
        List<LatLng> points = PolyUtil.decode(point);
    }
}

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Вы добавляете много PolylineOptions на карту. Они не связаны друг с другом, и поэтому вы получаете эти перерывы. Попробуйте добавить все декодированные пути к одному общему массиву.

Ваш отредактированный код:

ArrayList<LatLng> points = new ArrayList<LatLng>();
for (Step step : steps) {
        String point = step.polyline.points;
        points.addAll(PolyUtil.decode(point));
    }

PolylineOptions polylineOptions = new PolylineOptions();
polylineOptions.width(15);
polylineOptions.color(colorPrimary);
mMap.addPolyline(polylineOptions.addAll(points));
0 голосов
/ 15 октября 2019

Попробуй с этим, у меня нормально работает. Вы также можете добавить несколько точек.

mMap.addPolyline(new PolylineOptions().add(PointA).add(PointB).width(8f).color(Color.RED));
...