0

所以我有以下代码块,它应该遍历 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];

给我一个“表达式不可分配”错误。我这辈子都想不通。我试图制作一个 CLLocationCoordinate2D 对象并分配它,但它也不起作用。

4

1 回答 1

1

这应该有效:

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

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

于 2013-03-14T07:20:43.503 回答