Leaflet - 地图上有更多不同的图标
Leaflet - more different icons on the map
我目前正在为我的项目使用这个库
https://github.com/codersgyan/leaflet-store-locator
我想为类别添加不同的图标,就像这里
我添加到JSON,但是我无法显示图标
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [ xxxxx, xxxxxx]
},
"properties": {
"name": "xxx",
"city": "xxx",
"address": "xxx",
"icon": {
"iconUrl": "https icon url",
"iconSize": [55, 55],
"iconAnchor": [50, 50],
"popupAnchor": [-15, -50],
"className": "dot"
}
}
},
这段代码中有一个地方需要修改:
leaflet-store-locator
var myIcon = L.icon({
iconUrl: 'marker.png',
iconSize: [30, 40]
});
const shopsLayer = L.geoJSON(storeList, {
onEachFeature: onEachFeature,
pointToLayer: function(feature, latlng) {
return L.marker(latlng, { icon: myIcon });
}
});
您需要将其添加到 pointToLayer 函数中,而不是全局设置标记。
const shopsLayer = L.geoJSON(storeList, {
onEachFeature: onEachFeature,
pointToLayer: function(feature, latlng) {
// check what you have exactly in the 'feature'
// console.log(feature);
var myIcon = L.icon({
// I'm not sure of the path, that's why it's above console.log(feature);
iconUrl: feature.properties.icon.iconUrl,
iconSize: feature.properties.icon.iconSize,
// and here is the rest of the icon configuration
});
return L.marker(latlng, { icon: myIcon });
}
});
我目前正在为我的项目使用这个库
https://github.com/codersgyan/leaflet-store-locator
我想为类别添加不同的图标,就像这里
我添加到JSON,但是我无法显示图标
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [ xxxxx, xxxxxx]
},
"properties": {
"name": "xxx",
"city": "xxx",
"address": "xxx",
"icon": {
"iconUrl": "https icon url",
"iconSize": [55, 55],
"iconAnchor": [50, 50],
"popupAnchor": [-15, -50],
"className": "dot"
}
}
},
这段代码中有一个地方需要修改: leaflet-store-locator
var myIcon = L.icon({
iconUrl: 'marker.png',
iconSize: [30, 40]
});
const shopsLayer = L.geoJSON(storeList, {
onEachFeature: onEachFeature,
pointToLayer: function(feature, latlng) {
return L.marker(latlng, { icon: myIcon });
}
});
您需要将其添加到 pointToLayer 函数中,而不是全局设置标记。
const shopsLayer = L.geoJSON(storeList, {
onEachFeature: onEachFeature,
pointToLayer: function(feature, latlng) {
// check what you have exactly in the 'feature'
// console.log(feature);
var myIcon = L.icon({
// I'm not sure of the path, that's why it's above console.log(feature);
iconUrl: feature.properties.icon.iconUrl,
iconSize: feature.properties.icon.iconSize,
// and here is the rest of the icon configuration
});
return L.marker(latlng, { icon: myIcon });
}
});