gpt4 book ai didi

iOS:如何捕获顶部有 CALayer 的 map 上标记上的点击事件?

转载 作者:行者123 更新时间:2023-11-29 04:08:18 25 4
gpt4 key购买 nike

我有一个 mapView (RouteMe mapView),上面有注释(标记)。
在mapView上有一个touchesEnded函数,我通常用它来捕获所有事件。有些标记的顶部有一个附加层。该层有一些动画图像,据我所知,这是我可以在标记之上显示这些动画图像的唯一方法。

问题是我不知道如何拦截顶部有该层的标记上的触摸。当我测试 touchesEnded 上的点击时,我识别出 CALayer 类,而不是 RMMArker 类(显然,因为该层位于标记,因此首先拦截该事件)。点击顶部 CALayer 后如何到达标记?

谢谢

最佳答案

黑客解决方法:创建 RMMapLayer 而不是 CALayer。请记住在子图层上设置注释以使标注等功能正常工作,例如在您的 RMMapLayer 子类中:

RMMapLayer *sublayer = [[RMMapLayer alloc] init];
sublayer.annotation = ann;
sublayer.contents = (id)img2.CGImage;
sublayer.contentsScale = img2.scale;
sublayer.position = CGPointMake(CGRectGetWidth(self.bounds)/2, CGRectGetHeight(self.bounds)/2);
sublayer.bounds = CGRectMake(0, 0, img2.size.width, img2.size.height);
[self addSublayer:sublayer];

我不知道这还有可能突破多少其他问题,因此您可以关注此问题以获取任何更新: https://github.com/mapbox/mapbox-ios-sdk/issues/190

关于iOS:如何捕获顶部有 CALayer 的 map 上标记上的点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14842789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com