Изменение координат CLLocation

Я новичок в Objective C, поэтому это может быть тривиальной проблемой:

После инициализации местоположения:

CLLocation *currentPoint = [[CLLocation alloc] initWithLatitude:0 longitude:0]:

как я могу изменить широту и долготу позже?


person Community    schedule 30.07.2009    source источник


Ответы (2)


CLLocation объекты неизменяемы (их нельзя изменить). Согласно документам:

Как правило, вы используете объект CLLocationManager для создания экземпляров этого класса на основе последнего известного местоположения устройства пользователя. Однако вы можете создавать экземпляры самостоятельно, если хотите кэшировать пользовательские данные о местоположении или получить расстояние между двумя разными координатными точками.

person pgb    schedule 30.07.2009
comment
Спасибо, поэтому я собираюсь использовать переменные, чтобы сохранить местоположение и сделать его изменяемым. - person ; 31.07.2009

Вот пример того, как изменить CLLocation:

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation{


    newLocation = [[[CLLocation alloc] initWithCoordinate:CLLocationCoordinate2DMake(newLocation.coordinate.latitude, -1.1874988592864875)
                                                 altitude:newLocation.altitude
                                       horizontalAccuracy:newLocation.horizontalAccuracy
                                         verticalAccuracy:newLocation.verticalAccuracy
                                            timestamp:newLocation.timestamp] autorelease];

А вот еще пример того, как создать новую CLLotation:

CLLocation *newLocation = [[[CLLocation alloc] initWithCoordinate:CLLocationCoordinate2DMake(41.44994138650804, -1.1874988592864875)
                                                   altitude:0
                                         horizontalAccuracy:0
                                           verticalAccuracy:0
                                                  timestamp:[NSDate date]] autorelease];
person intropedro    schedule 11.10.2011