Leaflet 检测zoomIn或Zoomouton';zoomstart';
我写了一个函数,在zoomstart上,(应该)做一些事情1,如果我缩放并在缩放时做一些事情2:Leaflet 检测zoomIn或Zoomouton';zoomstart';,leaflet,Leaflet,我写了一个函数,在zoomstart上,(应该)做一些事情1,如果我缩放并在缩放时做一些事情2: 'var prevzoom = map.getZoom; map.on('zoomstart', do_something); function do_something(e){ var currzoom = map.getZoom(); var diff =
'var prevzoom = map.getZoom;
map.on('zoomstart', do_something);
function do_something(e){
var currzoom = map.getZoom();
var diff = currzoom - prevzoom;
if(diff > 0){do_something1}
else {do_something2}
prevzoom = currzoom;'
其行为如下:
1) 加载时,如果我将其移动,则会执行某些操作2(第二次、第三次也是如此)
2) 加载时,如果我缩放它做某事2(不正确),但它做某事1的第二,第三。。。时间等等。。。
3) 当我第一次从ZoomIn切换到ZoomOut和viceversa时,它的行为与前一次相同,并且在第二次、第三次……以相同方式(即向内或向外)缩放时,它的行为正确
我在“使用传单检测是否放大或缩小”的帖子中读到,当触发事件zoomstart时,不可能知道是否放大或缩小。
在我的情况下,它似乎在大部分时间都有效(这无论如何都不好)。
我错过了什么/做错了什么?
我不懂编码:谢谢你的帮助。
Giuseppe检查curzoom和prevzoom-问题是它们有时是相等的吗?我只是在zoomstart上使用currzoom,希望它能检测到我是为了做某事还是为了做某事而缩放。。不管怎么说,如果我开始僵化,它就会起作用。如果我用diff>=0更改diff>0,则会出现相同的行为……即当我缩放时,即使currzoom等于prevzoom,它也会做一些事情1,但它不会。请参见:“例如,当你开始用手指在手机上捏地图时,
zoomstart
应该触发,但你不知道你会在哪里结束。”