所以我有以下代码块,它应该迭代JSON对象数组并将MKPointAnnotations放在地图上:
for(id jsonObject in dataArray)
{
NSLog(@"%d",[dataArray count]);
NSDictionary* jsonDictionary = jsonObject;
MKPointAnnotation *point = [[MKPointAnnotation alloc] init];
NSString *lat = [jsonDictionary objectForKey:@"latitude"];
NSString *lon = [jsonDictionary objectForKey:@"longitude"];
point.coordinate.latitude = [lat doubleValue];
point.coordinate.longitude = [lon doubleValue];
[map addAnnotation:point];
}
但是,这两行:
point.coordinate.latitude = [lat doubleValue];
point.coordinate.longitude = [lon doubleValue];
给我一个“Expression is Not Assignable”错误。我不能为我的生活弄清楚。我试图创建一个CLLocationCoordinate2D对象并分配它,但它也不起作用。
答案 0 :(得分:1)
这应该有效:
CLLocationCoordinate2d coordinate = ...
MKPointAnnotation* annotation = [[MKPointAnnotation alloc] init];
annotation.coordinate = coordinate;
[mapView addAnnotation:annotation];
它适用于现有应用,只需检查代码和应用。 也请检查此答案:https://stackoverflow.com/a/15162092/1032151