0

我在使用 Mapbox iOS 时遇到了一些困难。

我在我的地图上添加注释,但是当它们与用户注释(即 MGLUserLocation)非常接近(实际上重叠)时,点击不会传递给其他注释。

我尝试使用 z 顺序来为用户注释(将其设置为 0/-1 或任何更低的值)同时增加其他注释的值但没有成功

func mapView(_ mapView: MGLMapView, didSelect annotation: MGLAnnotation)

始终使用用户注释调用。

我正在为用户注释使用自定义视图,并且我也尝试将其isEnable属性设置为 false。此外,当我尝试覆盖override open func tionsetSelected(_ selected: Bool, animated: Bool)在自定义视图中时,它不会被调用(无论它isEnabled是真/假......)

似乎用户位置注释周围的“光环”使任何点击都只能与用户注释交互 - 即使在它之前似乎还有其他对象......

我正在考虑作为最后一个选项来设置UIGestureRecognizer用户注释“隐藏”的相关视图......但是我是否遗漏了有关 Mapbox 中特殊用户注释的一些内容?

我创建了一个简单的项目,试图尽可能地模仿我未公开的原始项目中的问题 -回购

这是我试图在 Google 地图中实现的功能示例例子

4

1 回答 1

0

找到了我认为它以最佳方式利用 Mapbox API 的解决方案: MGLUserLocationAnnotationView有一个名为hitTestLayer: CALayer?

您可以覆盖它并提供您希望启用的可点击层的大小......在我的情况下,我不关心用户注释交互,所以我将它设置为零(我将示例 repo 中的代码更新为出色地)

于 2020-10-22T08:16:06.023 回答