我应该在哪里添加 MKPointAnnotation 到 MKMapView?
Where should I add MKPointAnnotation to MKMapView?
我想向我的 MKMapView
添加一些 MKPointAnnotations
,目前我正在 MKMapViewDelegate
s 方法 - (void)mapView:(RCTMap *)mapView regionDidChangeAnimated:(BOOL)animated
中这样做。但是当我这样做时,我的应用程序中的地图添加了注释,但静默崩溃(不再响应任何内容)。在哪里添加这些注释更合适?我的代码目前看起来像这样:
- (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];
}
找到一些 tuts 并了解注释的工作原理。您将在委托方法中添加它们。 (viewForAnnotation
)
对于MKPointAnnotations
http://www.devfright.com/mkpointannotation-tutorial/
对于自定义注释(MKAnnotationView
)
https://bakyelli.wordpress.com/2013/10/13/creating-custom-map-annotations-using-mkannotation-protocol/
我想向我的 MKMapView
添加一些 MKPointAnnotations
,目前我正在 MKMapViewDelegate
s 方法 - (void)mapView:(RCTMap *)mapView regionDidChangeAnimated:(BOOL)animated
中这样做。但是当我这样做时,我的应用程序中的地图添加了注释,但静默崩溃(不再响应任何内容)。在哪里添加这些注释更合适?我的代码目前看起来像这样:
- (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];
}
找到一些 tuts 并了解注释的工作原理。您将在委托方法中添加它们。 (viewForAnnotation
)
对于MKPointAnnotations
http://www.devfright.com/mkpointannotation-tutorial/
对于自定义注释(MKAnnotationView
)
https://bakyelli.wordpress.com/2013/10/13/creating-custom-map-annotations-using-mkannotation-protocol/