r0x*_*nne 0 mapbox mapbox-gl mapbox-gl-js
我想删除Mapbox地图上的源和图层。我设法删除了所有的源和图层,除了我添加到Mapbox地图中的第一个源和图层。
请注意,我不太擅长使用jQuery $ .post。
这是我添加所有源和图层的方法。
$.post('ajax/marker.php', function(data)
{
var firstSplit = data.split(",");
for(i=0;i<firstSplit.length-1;i++)
{
var secondSplit = firstSplit[i].split("|");
var id = secondSplit[0];
var lat = secondSplit[1];
var lng = secondSplit[2];
var point = {
"type": "Point",
"coordinates": [lat, lng]
};
map.addSource(id, { type: 'geojson', data: point });
map.addLayer({
"id": id,
"type": "symbol",
"source": id,
"layout": {
"icon-image": "airport-15"
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
记住,我设法查看了Mapbox地图上的所有源和图层。 只是我不能只删除添加到地图的第一个源和图层。我希望外面有人对此有一些想法。谢谢。
我在循环中使用了以下两个语句来删除源和图层。
map.removeSource(id);
map.removeLayer(id);
Run Code Online (Sandbox Code Playgroud)
我做了一个测试,手动删除了第一个源和图层,如下所示,但它不起作用。
map.removeSource('1612280004A');
map.removeLayer('1612280004A');
Run Code Online (Sandbox Code Playgroud)
但是,它适用于下一个源和层。
从您发布的内容中,我最好的猜测是,尽管仍然有附加的源,但是您无法删除该层。尝试反转两个语句的顺序:
map.removeLayer('1612280004A');
map.removeSource('1612280004A');
| 归档时间: |
|
| 查看次数: |
1430 次 |
| 最近记录: |