leaflet - 缩放级别上不同大小的标记(L.icon)
问题描述
我正在使用传单中的地图,我想知道如何为图标制作两种不同的尺寸,其中较大的尺寸会在最大的缩放级别上激活?目前,图标在最大缩放级别上看起来太小了。
这是确定图标大小的方式:
var playerIcon = L.icon({
iconUrl: 'images/players.png', // Location of file to be used as icon.
iconSize: [38, 38], // Size of icon on map.
});
我想知道是否可以为每个图标设置“iconSize1”和“iconSize2”之类的东西,并在缩放级别 6 上激活 iconSize 2。
提前致谢!
解决方案
您可以根据缩放定义 2 个图标并在标记上交换图标....
var playerIcon1 = L.icon(....);
var playerIcon2 = L.icon(....);
map.on('zoomend', function(e) {
if (map.getZoom() < 6) {
marker.setIcon(playerIcon1);
} else {
marker.setIcon(playerIcon2);
}
});
推荐阅读
- raspberry-pi - 将 dnsmasq 配置为侦听公共 IP 而不仅仅是 LAN
- mysql - 从表 B 更新表 A 中的列,其中值在 MYSQL 中表 B 的不同结果中不存在
- r - 在R中的HTML表格中排列数据
- flutter - 将 mbgl-offline db 转换为 mbtiles
- android-room - 安卓机房。错误:无法弄清楚如何从游标中读取此字段
- java - 代码错误:线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException:1
- sharepoint - Can we change font style in Sharepoint site?
- c - 如何检查前 2 个 getchars 是否为空格?
- javascript - 如何将 package.json 文件和 public 文件夹放在 React App 的另一个文件夹中并使其工作?
- javascript - 如何使用导入标头?