自定义的过程这篇博客写的很详细:http://blog.csdn.net/mad1989/article/details/8794762
标记一个位置点的view ----》marker或者pin
点击marker后弹出的view ---》CalloutView
marker和calloutView都是一个annotation,一个annotation对应一个view即markerView和calloutView,所以自定义callout view时先自定义两个view对应的annotation分别为:CustomPinAnnotation和CustomCalloutAnnotation,pinAnnotation的弹出view用系统的就可以了,一般只要换一个image,再自定义一个calloutAnnotation的弹出view:CustomCalloutView
基本思路如下:
当调用MKMapView的andAnnotation添加一个marker(CustomPinAnnotation)时,系统会回调MKMapView的delegate中的viewForAnnotation方法,返回标记要显示的marker的view(return 一个系统的)。当点添加的marker时,系统会调delegate中的didSelectAnnotationView方法,我们再调用addAnnotation添加一个CustomCalloutAnnotation,调了这个方法后,系统又会回调viewForAnnotation方法,我们再返回我们自定义的CustomCalloutView就大功告成了。。
例子效果如下:
代码在资源里
本文详细介绍了如何在地图应用中自定义Marker和CalloutView,包括自定义两个视图对应的注释类以及实现过程。通过在MKMapView中添加自定义Marker并触发CalloutView的展示,实现了一个个性化且功能丰富的地图应用。
1384

被折叠的 条评论
为什么被折叠?



