iOS/iPhone OS MapKit sample for draggable AnnotationView with CoreAnimation pin lift/drop/bounce effects.
- Support both iPhone OS 3.1.x, 3.2 and iOS 4 at the same time, in the same source code.
- Use iOS 4 MapKit built-in draggable support (Yes, you got retina display high resolution support for free!)
- Use legacy MapKit techniques to create draggable annotations on iPhone OS 3.1.x and 3.2.
- Use Core Animation to create pin effects you saw in built-in Maps.app on iPhone OS 3.1.x and 3.2.
- iOS SDK 4.2 or later.
Project file (.xcodeproj) needs to:
- Base SDK (SDKROOT) should be "iPhone Device 4.2"
- Deployment Target (IPHONEOS_DEPLOYMENT_TARGET) can be "iPhone OS 3.1" if you want.
Starting from MapKitDragAndDrop 3.2, DDAnnotationView provides a class method
+annotationViewWithAnnotation:reuseIdentifier:mapView:to create annotation view, it will return either DDAnnotationView (on iOS3) or draggble-enabled MKPinAnnotationView (on iOS4).
I previously enabled Objective-C 2.0 ABI (to use synthesized by default feature) in MapKitDragAndDrop 3.0, which cause a lot of headaches for many developers. After considering, I changed my mind, no more synthesized by default in this version, and you are allowed to use either GCC or LLVM Compiler with it now.
This project is released under MIT License.