#iphone #google-maps
#iPhone #google-карты
Вопрос:
Я использую mapkit и использую тонкий код
double latitude1;
double longitude1;
@property (assign) double latitude1;
@property (assign) double longitude1;
широта и долгота указаны двойным шрифтом в базе данных, но я получил ошибку при написании этой строки: (
CLLocationCoordinate2D theCoordinate;
theCoordinate.latitude = [ classObj.latitude1 doubleValue];
theCoordinate.longitude = [ classObj.longitude1 doubleValue];
эта ошибка возникает
«недопустимый тип получения double»
у меня есть convert в float, но это также не сработало..
Комментарии:
1. Использовали ли вы @synthesize для генерации средства получения? И не используйте assign для примитивных типов.
2. ‘@синтезировать широту1,долготу 1’
Ответ №1:
свойство latitude1 уже является обычным double — вам не нужен (и вы не можете использовать) вызов doubleValue с ним. Просто напишите:
theCoordinate.latitude = classObj.latitude1;
Или даже лучше
LLocationCoordinate2D theCoordinate = CLLocationCoordinate2DMake(classObj.latitude1, classObj.longitude1);
Ответ №2:
Вы определяете, что широта1 и долгота1 являются двойными
Итак, вы можете назначить напрямую.
Нравится
CLLocationCoordinate2D theCoordinate;
theCoordinate.latitude = classObj.latitude1;
theCoordinate.longitude = classObj.longitude1;
Ответ №3:
[ classObj.latitude1 doubleValue] обычно используется, когда требуется приведение типов, но в CLLocationCoordinate2D широта и долгота являются двойными. Нет необходимости вводить приведение, просто назначьте значение.
CLLocationCoordinate2D theCoordinate;
theCoordinate.latitude = classObj.latitude1;
theCoordinate.longitude = classObj.longitude1;