我目前正在使用 mapkit 并且卡住了。
我有一个正在使用的自定义注释视图,我想使用 image 属性在地图上用我自己的图标显示该点。我有这个工作正常。但我还想做的是覆盖默认标注视图(触摸注释图标时显示标题/副标题的气泡)。我希望能够控制标注本身:mapkit 仅提供对左右辅助标注视图的访问,但无法为标注气泡提供自定义视图,或将其设为零大小或其他任何内容。
我的想法是在 my 中覆盖 selectAnnotation/deselectAnnotation MKMapViewDelegate
,然后通过调用我的自定义注释视图来绘制我自己的自定义视图。这有效,但仅在我的自定义注释视图类canShowCallout
中设置为时。YES
如果我将此设置为NO
(这是我想要的,因此不会绘制默认标注气泡),则不会调用这些方法。因此,如果没有显示默认标注气泡视图,我无法知道用户是否触摸了我在地图上的点(选择了它)或触摸了不属于我的注释视图的点(选择了它)。
我试着走一条不同的路,自己处理地图中的所有触摸事件,但我似乎无法让它工作。我阅读了与在地图视图中捕获触摸事件相关的其他帖子,但它们并不是我想要的。有没有办法在绘制之前深入地图视图以删除标注气泡?我不知所措。
有什么建议么?我错过了一些明显的东西吗?