基于米的传单图标大小

时间:2017-04-19 08:44:07

标签: javascript leaflet geo

我想以精确的尺寸在地图上显示对象。

我有关于这些对象的参考数据,包含以米为单位的对象的长度和宽度,现在我需要根据缩放级别将米转换为像素图标大小的像素。

var meterlength = 50;
var meterwidth = 40;

//convert meters to pixels

var icon = L.divIcon({html:"<svg>..</svg>",iconSize:[xx,yy]});

我发现了https://github.com/makinacorpus/Leaflet.GeometryUtil/

具有长度和距离功能的GeometryUtils,但无法使其正常工作。

有什么想法吗?非常感谢你!

编辑:

这个答案解决了我原来的问题:

https://gis.stackexchange.com/a/198444

但是我使用&#34; zoomanim&#34;来缩小地图缩放图标。事件 - 遗憾的是 map.containerPointToLatLng() Methode适用于旧的缩放级别而不适用于新的缩放级别。 有解决方法吗?

1 个答案:

答案 0 :(得分:0)

如果您希望图像代表对象的实际大小,那么您应该更好地使用L.imageOverlay而不是标记,并尝试根据缩放级别调整其大小。

请参阅https://gis.stackexchange.com/questions/171609/resize-divicons-svgs-at-zoom-levels-leaflet

然后,您需要为图像叠加边界找到合适的坐标,而不是像素。

现在,如果确实想要根据缩放级别更改标记图标大小,那么您在SO和GIS SE上有几个涵盖此主题的帖子。

E.g。 Best way to make marker resizable in leaflet