MKPointAnnotation表达式不可分配

时间:2013-03-14 07:13:19

标签: ios objective-c mapkit mkannotation

所以我有以下代码块,它应该迭代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对象并分配它,但它也不起作用。

1 个答案:

答案 0 :(得分:1)

这应该有效:

CLLocationCoordinate2d coordinate = ...
MKPointAnnotation* annotation = [[MKPointAnnotation alloc] init];
annotation.coordinate = coordinate;
[mapView addAnnotation:annotation];

它适用于现有应用,只需检查代码和应用。 也请检查此答案:https://stackoverflow.com/a/15162092/1032151