我试图将注释点加载到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个坐标。我不知道我做了什么错误。
答案 0 :(得分:0)
annotationCoord
。在第一次循环中,您将其lat和long设置为(33.930216,-118.050392),并创建一个名为annotationPoint
的新对象,将其coordinate
属性指向您的annotationCoord
。然后在下一次循环中,您可以通过给它新的坐标来编辑annotationCoord
。但它仍然是相同的annotationCoord
,你添加到地图中的注释仍在使用它,现在使用新的坐标。
因此解决方案是每次循环时都创建一个新的CLLocationCoordinate2D。