我想允许我的应用程序的用户在 map 上选择一个位置。本机 map 具有“放置图钉”功能,您可以在其中通过放置图钉来查找内容。如何在MapKit中做到这一点?
最佳答案
您需要创建一个实现MKAnnotation协议(protocol)的对象,然后将该对象添加到MKMapView中:
@interface AnnotationDelegate : NSObject <MKAnnotation> {
CLLocationCoordinate2D coordinate;
NSString * title;
NSString * subtitle;
}
实例化您的委托(delegate)对象并将其添加到 map 中:
AnnotationDelegate * annotationDelegate = [[[AnnotationDelegate alloc] initWithCoordinate:coordinate andTitle:title andSubtitle:subt] autorelease];
[self._mapView addAnnotation:annotationDelegate];
map 将访问您的AnnotationDelegate上的axis属性,以查找将销钉放置在 map 上的位置。
如果要自定义注释 View ,则需要在 map View Controller 上实现MKMapViewDelegate viewForAnnotation方法:
- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation
如果您想实现图钉拖动功能,则可以在Apple OS Reference Library中阅读有关处理注释触摸事件的信息。
您也可以使用mapkit在拖放上 check out this article,它指向GitHub上的有效示例库。您可以通过检查DDAnnotation对象上的_coordinates成员来获取拖动的注释的坐标。
关于iphone - 如何使用MapKit固定销钉?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1917383/