Как обновить существующий линейный слой в MapBox - PullRequest
0 голосов
/ 07 ноября 2019

Здесь - пример mapBox для рисования геометрии линии.

    private void onStyleLoaded(Style style) {

        initRouteCoordinates();

        style.addSource(new GeoJsonSource("line-source",
                FeatureCollection.fromFeatures(new Feature[]{
                        Feature.fromGeometry(LineString.fromLngLats(routeCoordinates))})));

        style.addLayer(new LineLayer("lineLayer", "line-source")
        .withProperties(PropertyFactory.lineDasharray(new Float[] {0.01f, 2f}),
                PropertyFactory.lineCap(Property.LINE_CAP_ROUND),
                PropertyFactory.lineJoin(Property.LINE_JOIN_ROUND),
                PropertyFactory.lineWidth(5f),
                PropertyFactory.lineColor(Color.parseColor("#e55e5e"))));

        Point point = routeCoordinates.get(0);
        mapboxMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
                new LatLng(point.latitude(), point.longitude()), 17));
    }

Мне нужно добавить больше очков и обновить линию. Как видно из примера, геометрия линии задается исходному слою во время построения. Я не смог найти API для добавления точки к текущей строке позже.
Должен ли я удалить эту строку и перерисовать новую? Есть ли лучший подход?

...