安卓gridview条目点击事件_nvue中map组件关于点击标注点踩坑

最近在用uni-app中开发了一个app项目,因为里面有map模块,所以这里用nvue开发,在写@markertap时,真是一言难尽,这里把需要注意的地方记录一下以供大家参考。

API介绍

5551d8dcd35bce424fa16285734132dc.png

注意事项一

当我们markers点击事件配置对应的函数时,如果你的标注点对应的数据对象中没有指定ID,此时你点击标注点时,函数是无法被触发的。

90ae6191a5a9fb1a9c850d3c7f823f34.png

解决方法也很简单,指定一个ID即可。

b9770914de9834f432be54870f806078.png

好了,这时候你点击标注点时,对应的函数应该就会触发了,不过这里还是有个需要注意的地方,那就是ID不能为 0。当然,如果你的标注点中有 callout 气泡数据时,那可能还是不太行。下面有将解决方案。

注意事项二

如果你的标注点中指定callout时,你点击标注点时你会惊讶的发现然并卵,markertap事件并不会得到触发,这是因为marker中如果有callout时,你需要给map组件指定一个callouttap事件才可以。

a597f43edf1874b34cee564f3bc7e18f.png

在安卓手机上,如果你的marker中有callout时,点击标注点会触发的并不是markertap事件而是 callouttap事件。没错,虽然官方描述是点击标注点上的气泡触发,但是事实上,你点击标注点它同样会得到触发。

d97f288fa11446d48a62d9232c142c84.png

至此,安卓手机应该是ok了。

注意事项三

上面说了,安卓手机应该OK了,言外之意当然是在苹果手机上还有surprise在等您去发掘。

事实上,如果你在苹果手机测试时,你会发现,callouttap事件只有在你点击标注点上的气泡时才会得到触发,这和官方的说法不谋而合。然后我就发现了这样一个规律,那就是当你的 marker标记有指定

callout气泡时,在安卓手机中callouttap事件可以完美驾驭markertap事件以及callouttap事件,也就是说在安卓手机中不管是点击标注点,还是标注点上面的气泡,callouttap事件都会得到触发。不过在苹果手机中,callouttap事件只有在点击标注点上的气泡时才会触发。不过问题不大,因为ios中,markertap是可以触发的,所以我们只需要在map组件中给callouttap事件和markertap事件指定相同的函数即可。

98d6cd67fe65cf24f52b7e59d460028f.png

看一下效果:

0163859416878f696f83591ba0c5f35e.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值