设备移动时无法从地图中删除原始标记

Can't remove original markers from map when device is mobile

我正在使用 mapbox 开发一个项目,我有自己的图标,我想使用这些图标来代替 mapbox 的原始本地标记。 在看到 "setIcon" 函数没有删除原来的灰色标记,只是在它们旁边添加了我的图标后,我使用这个 css 命令来删除它们:

.leaflet-container img.leaflet-marker-          icon[src~="http://a.tiles.mapbox.com/v4/marker/pin-    m+7e7e7e.png?access_token=pk.eyJ1IjoiZGF2aWRoYWxmb24iLCJhIjoibzZhZTlJdyJ9.ab2pmxikBxsmsWEvbfYVfw"]{display:none}

它在网络上运行良好,但当我在移动设备上打开网站时它不起作用,我再次看到我的图标和本机标记。

这是我替换图标的代码:

locations.eachLayer(function(locale) {
var prop = locale.feature.properties;
locale.setIcon(L.icon({
    iconUrl: './icon.png',  
}));
});

这是我的网站: http://www.david-halfon.com/worldRadio/

感谢您的帮助!

来自您页面的来源:

var map = map1.featureLayer.setGeoJSON(geojson)
locations = L.mapbox.featureLayer().addTo(map);
locations.setGeoJSON(geojson);

您正在更改 locations 层上的图标,但也将相同的数据添加到 map1.featureLayer,并且该层具有默认图标。