我想向MKPointAnnotations
添加一些MKMapView
,目前我正在使用MKMapViewDelegate
方法- (void)mapView:(RCTMap *)mapView regionDidChangeAnimated:(BOOL)animated
。但是当我这样做时,我的应用程序中的地图添加了Annotation,但是静默崩溃(不再响应任何东西)。添加这些注释的更合适的位置在哪里?我的代码目前看起来像这样:
- (void)mapView:(RCTMap *)mapView regionDidChangeAnimated:(BOOL)animated
{
# ...
for (NSDictionary *pin in mapView.pins) {
[self _addPin:pin ToMapView:mapView];
}
}
#pragma mark Private
- (void)_addPin:(NSDictionary *)pinObject ToMapView:(RCTMap *)mapView
{
MKPointAnnotation *pin = [[MKPointAnnotation alloc] init];
CLLocationCoordinate2D coords;
coords.latitude = [[pinObject valueForKey:@"latitude"] doubleValue];
coords.longitude = [[pinObject valueForKey:@"longitude"] doubleValue];
pin.coordinate = coords;
pin.title = [pinObject valueForKey:@"title"];
pin.subtitle = [pinObject valueForKey:@"subtitle"];
[mapView addAnnotation:pin];
}
答案 0 :(得分:1)
找一些关键并掌握注释的工作原理。您将在委托方法中添加它们。 (viewForAnnotation
)
MKPointAnnotations
http://www.devfright.com/mkpointannotation-tutorial/
对于自定义注释(MKAnnotationView
)
https://bakyelli.wordpress.com/2013/10/13/creating-custom-map-annotations-using-mkannotation-protocol/