传单:如何在变焦后,在变焦开始之前获取纬度液化天然气的像素位置

Leaflet: How to get pixel position of a lat lng after zoom, before zoom begins

本文关键字:变焦 纬度 天然气 位置 获取 像素 传单 开始      更新时间:2023-09-26

我想转换:将SVG组转换为latLng像素位置,并在缩放后保持该位置。

我试过:

map.on('zoomend', function(e) {...});

http://jsfiddle.net/L8dnsrnk/15/

但显然,这只会在变焦后触发,因此SVG不会像标记那样流畅地移动。

尝试查看源以查看传单标记是如何重新定位的,因为这本质上是我试图模仿的行为,但无济于事。如果有人对达到这种效果有其他建议,我会很感兴趣!:)

您需要侦听"zoomanim"事件,并通过执行以下操作来获取圆的新中心:

var coord = map._latLngToNewLayerPoint(new L.LatLng(51.5, -0.087), e.zoom, e.center);

标记的动画由CSS执行,特别是选择的类".leaflet-zoom-anim .leaflet-zoom-animated"(在leaflet.css中查看)。 您需要对 SVG 执行类似操作。 不要在 SVG 上设置"转换"属性,而是设置"转换"样式,然后在 CSS 中为该样式定义过渡动画。

请参阅以下小提琴:http://jsfiddle.net/inpursuit/mcatbrhk/1/