Обновление Mapbox GL JS Координаты мест Слой - PullRequest
0 голосов
/ 13 июня 2019

Я использую Mapbox GL JS и хочу обновить координаты слоя, который я поместил с помощью

self.map.addLayer({
    "id": "first-location",
    "type": "circle",
    "source": {
        "type": "geojson",
        "data": {
            "type": "FeatureCollection",
            "features": [{
                "type": "Feature",
                "geometry": {
                    "type": "Point",
                    "coordinates": [self.lng, self.lat]
                }
            }]
        }
    }
});

И через некоторое время я меняю координаты и хочу обновить это на карте. За исключением того, что это не работает, как я в этом коде:

self.map.getLayer('first-location').setData({
    "type": "FeatureCollection",
    "features": [{
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [self.lng, self.lat]
        }
    }]
});

Я могу использовать Marker(), но я хочу добавить "icon-image", который я сделал с addImage(), и это возможно только с addLayer().

1 Ответ

1 голос
/ 13 июня 2019

Вам нужно установить данные на источнике, а не на слое.Поскольку вы использовали сокращенный подход для создания источника как части addLayer, ваш источник будет называться так же, как и идентификатор слоя.

map.getSource ('first-location'). SetData (...)

...