如何以编程方式打开调用MKAnnotationView? (iPhone,MapKit)
我想以编程方式打开MKPinAnnotationView
的标注。 例如,我在地图上放下10个针脚,并且想打开离我最近的那个针脚。 我怎么去做这个?
苹果已经为MKAnnotationView's
指定了“selected”参数,但不鼓励直接设置它(这是行不通的,试过了)。
对于其余的MKAnnotationView
只有一个高亮的( 同样的故事 ),并且可以ShowCallout
方法。
任何提示,如果这是可能的呢?
在你的mapViewController中创build一个动作方法:
- (void)openAnnotation:(id)annotation { //mv is the mapView [mv selectAnnotation:annotation animated:YES]; }
然后,您可以根据当前位置确定最接近的注释,并在数组中使用注释。
[mv annotations];
一旦计算出最接近的注释,请致电:
[self openAnnotation:closestAnnotation];
mapView应自动滚动以将注释放置在显示区域的中心。
在swift 3中更新为:
func openAnnotation(annotation: MkAnnotation) { _ = [mapView .selectAnnotation(annotation, animated: true)] }
并可以使用任何注释来调用(这将打开注释标注视图并尝试将注释集中在地图上)
例如,在假设的注释列表中使用第二个注释。
openAnnotation(annotation: mapView.annotations[1])