У меня вопрос по поводу mapbox - функция обновления слоя.
Сначала у меня есть исходный GeoJSON, и они могут отображаться на карте
Мы видим переменную «пользователь» на консоли и две точки на карте.
Теперь я запрашиваю данные из моей локальной базы данных, и бэкэнд передает GEOJSON во внешний интерфейс, переменная «пользователь» имеетбыл обновлен, как мы видим из консоли.
Итак, теперь слой должен быть обновлен, я пишу функцию щелчка, которая при нажатииНа старом слое (точках) будут отображаться новые данные (точки).
map.on('load', function(){
map.addSource('wifiData',{
'type': "geojson",
'data': {
"type": "FeatureCollection",
"features": user,
}
});
map.addLayer({
'id': 'test',
'type': 'circle',
'source' : 'wifiData',
'paint':{
'circle-color': '#00b7bf',
'circle-radius': [
'/',['get','total'],50
],
'circle-stroke-width': 1,
'circle-stroke-color': '#333',
'circle-opacity': 0.3,
}
});
map.on('click','test',function () {
map.getSource('wifiData').setData(user);
})
});
Но на консоли отображается сообщение «Ошибка {сообщение:« Входные данные не являются допустимым объектом GeoJSON. »», не могли бы вы рассказать мне, какобновить слой на карте зависит от новых данных?