我现在正在使用地图工具包,我被卡住了。
我有一个自定义的注释视图,我正在使用,我想使用图像属性显示点在地图上与我自己的图标。我把它修好了。但是我还想覆盖默认的调出视图(当触摸注释图标时,标题/字幕显示的泡泡)。我希望能够控制标注本身: mapkit 只提供对左侧和右侧辅助标注视图的访问,但是没有办法为标注气泡提供自定义视图,或者给它零大小,或者其他任何东西。
我的想法是在我的 MKMapViewDelegate
中覆盖 selectAnnotation/deselectAnnotation,然后通过调用我的自定义注释视图来绘制我自己的自定义视图。这可以工作,但只有在我的自定义注释视图类中将 canShowCallout
设置为 YES
时才可以。如果我将这些方法设置为 NO
,则不会调用这些方法(这正是我想要的,因此不会绘制默认的调出气泡)。因此,如果没有默认的标注泡泡视图显示出来,我就无法知道用户是触摸了我在地图上的点(选中了它)还是触摸了一个不属于我的注释视图的点(删除了它)。
我试着走一条不同的道路,只是处理所有触摸事件自己在地图上,我似乎不能得到这个工作。我读过其他一些关于在地图视图中捕捉触摸事件的帖子,但它们并不完全是我想要的。是否有一种方法可以在绘制之前在地图视图中删除标注气泡?我不知所措。
有什么建议吗? 我是不是漏掉了什么明显的东西?