[英]How to define multiple custom icons in Leaflet?
我尝试将自定义图标添加到传单地图。
<% for (let a=0; a<pointers.length; a++) { %>
switch ("<%-pointers[a].department%>") {
case "departmentX":
L.marker([<%-pointers[a].geolocation%>]);
var icon = L.icon({iconUrl: '/img/photo1.png'});
break;
case "departmentY":
L.marker([<%-pointers[a].geolocation%>]);
var icon = L.icon({iconUrl: '/img/photo2.png'});
break;
default:
L.marker([<%-pointers[a].geolocation%>]);
var icon = L.icon({iconUrl: '/img/photo3.png'});
}
L.icon({
iconSize: [38, 95],
popupAnchor: [-3, -76]
});
L.marker([<%-pointers[a].geolocation%>], {icon: icon}).addTo(mymap).bindPopup( "<%-<h1>pointers[a].name%></h1>");
<% } %>
当我在浏览器中加载地图时,正确的图标被放置在正确的位置。 但是, IconSize 和 popupAnchor 被忽略了。 是否有可能使 IconSize 和 popupAnchor 工作而不将其添加到 switch 语句中的每个案例?
您可以通过扩展L.icon
创建自己的自定义图标
var myIcon = L.Icon.extend({
options: {
iconSize: [38, 95],
popupAnchor: [-3, -76]
}
});
然后像这样使用myIcon
:
var icon = new myIcon({iconUrl: '/img/photo1.png'});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.