如何以编程方式打开调用MKAnnotationView?(iPhone,MapKit)

Sti*_*ker 26 iphone mapkit callouts mkannotation ios

我想以MKPinAnnotationView编程方式打开标注.例如,我在地图上放了10个针脚,想要打开离我最近的一个针脚.我该怎么做呢?

Apple已指定'selected'参数MKAnnotationView's,但不鼓励直接设置(这不起作用,尝试过).

其余MKAnnotationView只有一个setHighlighted(同一故事),并且可以ShowCallout方法..

任何提示,如果这是可能的吗?

小智 78

在mapViewController中创建一个动作方法:

- (void)openAnnotation:(id)annotation 
{
    //mv is the mapView
    [mv selectAnnotation:annotation animated:YES];

}
Run Code Online (Sandbox Code Playgroud)

然后,您可以根据当前位置确定最接近的注释,并遍历阵列中可用的注释.

[mv annotations];
Run Code Online (Sandbox Code Playgroud)

计算出最近的注释后,请致电:

[self openAnnotation:closestAnnotation];
Run Code Online (Sandbox Code Playgroud)

mapView应自动滚动以将注释放在显示区域的中心.