在MapView ios中添加MultiplePointAnnotation

时间:2013-05-15 12:27:04

标签: ios mkmapview mkannotation

我试图将注释点加载到mapview中,其中我有纬度的单独数组,而经度的单独数组是我的代码

- (void)viewDidLoad

{

[super viewDidLoad];

delegate=[[UIApplication sharedApplication]delegate];

delegate.arrForLat = [[NSMutablearray alloc] initwithobjects:@“33.930216”,@“33.939788”,@“33.9272”,@“33.902237”];

delegate.arrForLon = [[NSMutablearray alloc] initwithobjects:@“ - 118.050392”,@“ - 118.076549”,@“ - 118.065817”,@“ - 118.081733”];

     for (int i=0 ; i< delegate.arrForLat.count;i++)
     {
        annotationCoord.latitude = [[delegate.arrForLat objectAtIndex:i] doubleValue];
        annotationCoord.longitude = [[delegate.arrForLng objectAtIndex:i] doubleValue];

        MKPointAnnotation *annotationPoint = [[MKPointAnnotation alloc] init];
        annotationPoint.coordinate = annotationCoord;
        [MapView addAnnotation:annotationPoint];
    }

}

现在我在mapview只得到1个注释点,但我有4个坐标。我不知道我做了什么错误。

1 个答案:

答案 0 :(得分:0)

啊,我想我明白了。您只有一个annotationCoord。在第一次循环中,您将其lat和long设置为(33.930216,-118.050392),并创建一个名为annotationPoint的新对象,将其coordinate属性指向您的annotationCoord。然后在下一次循环中,您可以通过给它新的坐标来编辑annotationCoord。但它仍然是相同的annotationCoord,你添加到地图中的注释仍在使用它,现在使用新的坐标。

因此解决方案是每次循环时都创建一个新的CLLocationCoordinate2D。