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

时间:2015-07-10 09:43:13

标签: javascript css mapbox

我正在研究一个带有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/

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

从您的信息来源:

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

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