ожидаемое выражение перед токеном ‘{‘

#objective-c #cocoa-touch #ios #mapkit

#objective-c #cocoa-touch #iOS #mapkit

Вопрос:

пожалуйста, я не понял, что не так с моим кодом :

 float lng = [[stationEnCours objectForKey:@"ssiphone_longitude"] floatValue];
float lat = [[stationEnCours objectForKey:@"ssiphone_latitude"] floatValue];

location2D={latitude:lat,longitude:lng};//this line which cause error
MKCoordinateSpan span={latitudeDelta:0.2,longitudeDelta:0.2};
MKCoordinateRegion region={location2D,span};
[mapView setRegion:region];
[self.view addSubview:mapView];
  

lng у lat действительно есть значение долготы и широты, я убедился в консоли 🙂 спасибо за помощь 🙂

Ответ №1:

Попробуйте:

 location2D = (CLLocationCoordinate2D){ .latitude = lat, .longitude = lng };
  

или просто:

 location2D = (CLLocationCoordinate2D){ lat, lng };
  

Комментарии:

1. Привет, я получил эту ошибку при попытке объявить location2D в файле .h, поэтому, когда я объявляю ее непосредственно в файле .m, это работает, не могли бы вы, пожалуйста, сказать мне, почему ?? спасибо

Ответ №2:

лучше использовать встроенные макросы и функции: так:

CLLocationCoordinate2D newCoord = CLLocationCoordinate2DMake(lng, широта);

не беспокойтесь о скорости … эти функции очень эффективны.