正如标题所述,我有一个Leaflet(版本1.02)地图,如果我在调用flyTo()动作后尝试放大,则会中断。奇怪的是,如果我先缩小,我可以在没有地图破坏的情况下自由地放大或缩小。平移也可以在flyTo()之后工作,但放大仍然会破坏地图,除非我首先调用zoomOut动作。
我没有达到最大缩放,这发生在具有不同标记集的多个地图中。如果在flyTo()的zoomend中,我将缩放设置为当前级别,我可以自由地放大或缩小,但这会导致地图在flyTo()之后闪烁并且非常不吸引人。
对此有何想法?
提前致谢!
答案 0 :(得分:0)
我知道这时的帖子有些陈旧,但是如果有人遇到使用flyTo()函数使用传单并通过缩放导致后续怪异行为的情况,那么问题可能是您使用的是哪种格式将参数传递给flyTo()。
确保将经纬度转换为浮点,将缩放转换为整数。我遇到了这个问题,事实证明这是由于我的参数是以字符串形式传递的。使用字符串作为参数,flyTo()似乎可以很好地运行,但随后的缩放操作会不稳定。
答案 1 :(得分:0)
我还遇到了该错误,并且设法找到了解决方法,假设“ flyTo”中的“ zoom”功能某种程度上破坏了以下通过单击“ +”图标进行的放大操作。 我决定立即执行flyTo,然后执行setZoom动作。这是代码:
map.flyTo(latlong, zoom, {animate: true, duration: 3});
setTimeout(function(){ map.setZoom(zoom);}, 3000);
选项使flyTo序列持续3秒 下一行等待3秒,即flyTo结束的确切时间,然后执行setZoom,从而取消flyTo的任何神秘动作,这会破坏用户的zoomIn动作。 然后就可以了。
答案 2 :(得分:0)
我遇到了同样的问题。在.flyTo()调用之后,按Zoom +按钮可使地图达到最大缩放,但是按Zoom-首先意味着一切正常。 在阅读了上面的dageshi之后,事实证明是问题所在。
确保纬度,经度转换为浮点,缩放比例转换为整数。
在传递给.flyTo()的值上添加parseInt()可以立即将其固定。 感谢dageshi