【发布时间】:2019-10-24 02:51:05
【问题描述】:
我有一个关于 mapbox 的问题——更新图层上的功能。
我们可以看到控制台上的变量“user”和地图上的两个点。
现在我从本地数据库中查询数据,后端将 GEOJSON 传输到前端,变量“user”已更新,从控制台可以看到。
所以,现在图层应该更新了, 我写了一个点击函数,当我点击旧图层(点)时,新数据(点)会显示出来。
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 对象。”“ 你能告诉我如何根据新数据更新地图上的图层吗?
【问题讨论】:
标签: mapbox mapbox-gl-js