我想在点击地图点时获取地图注释索引编号,但我遇到了一个问题,那就是我第一次运行应用程序并点击它向我显示索引= 5.但是当我重新运行应用程序并再次单击同一点它显示我索引= 23.重新运行应用程序后索引号不断变化,并且在我单击的确切位置它不会显示相同的索引号。
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
if ([view.annotation isKindOfClass:[MKPointAnnotation class]]) {
NSUInteger index = [mapView.annotations indexOfObject:view.annotation];
NSLog(@"Index number is %lu", (unsigned long)index);
}
答案 0 :(得分:0)
我找到了解决方案,之后我将位置ID保存到annotation.title
,之后我使用下面的代码替换了索引号。
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
if ([view.annotation isKindOfClass:[MKPointAnnotation class]]) {
NSString *hubIden = view.annotation.title;
}
}