在地图视图中重新加载注释

时间:2013-05-27 15:57:15

标签: ios annotations mkmapview presentmodalviewcontroller

我将注释作为硬编码值添加到方法

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation

     CLLocationCoordinate2D coords1;
     coords1.latitude = 40.579754;
     coords1.longitude = -120.1303229;

     MKPointAnnotation *annotationPoint1 = [[MKPointAnnotation alloc] init];
     annotationPoint1.coordinate = coords1;
     annotationPoint1.title = @"TJ11234";
     annotationPoint1.subtitle = @"Power Failure \n Start Time:12hrs 30min \n End Time:14hrs ";

     [self.mapView addAnnotation:annotationPoint1];

具有lats和经度硬编码的值,其加载正常,但当我转到另一页并返回页面时,注释未加载。我该怎么做才能纠正它?

1 个答案:

答案 0 :(得分:0)

只要地图视图收到新的位置更新,就会调用

mapView:didUpdateUserLocation:。查看documentation

如果您想在显示地图时设置注释,可以将代码放在viewDidAppear或类似内容中。

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated]

    CLLocationCoordinate2D coords1;
    coords1.latitude = 40.579754;
    coords1.longitude = -120.1303229;

    MKPointAnnotation *annotationPoint1 = [[MKPointAnnotation alloc] init];
    annotationPoint1.coordinate = coords1;
    annotationPoint1.title = @"TJ11234";
    annotationPoint1.subtitle = @"Power Failure \n Start Time:12hrs 30min \n End Time:14hrs ";

    [self.mapView addAnnotation:annotationPoint1];
}

希望这有帮助。