我正在研究一个带有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/
感谢您的帮助!
答案 0 :(得分:0)
从您的信息来源:
var map = map1.featureLayer.setGeoJSON(geojson)
locations = L.mapbox.featureLayer().addTo(map);
locations.setGeoJSON(geojson);
您正在更改locations
图层上的图标,但也会将相同的数据添加到map1.featureLayer
,并且该图层具有默认图标。