поиск текущего местоположения в iphone

#iphone #objective-c #core-location #cllocationmanager

#iPhone #objective-c #ядро-местоположение #cllocationmanager

Вопрос:

пытаюсь добавить аннотацию к текущему местоположению, когда мне когда-либо понадобится любое количество аннотаций, но это работает, может ли кто-нибудь помочь мне, я пробую этот код

  - (CLLocationCoordinate2D)coordinate;
{
    CLLocationCoordinate2D theCoordinate;
    theCoordinate.latitude =MKUserLocation.latitude;          //37.786996;// Here we have to change the with current location  
    theCoordinate.longitude = MKUserLocation.longitude;
    return theCoordinate; 
}
  

Ответ №1:

Используйте CLLocationManagerDelegate метод

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

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

1. но нужно добавить пользовательскую аннотацию к местоположению currrnt при каждом нажатии кнопки сброса. как это сделать, отбрасывая аннотацию, и когда аннотации отбрасываются во время, местоположение, в котором отбрасывается аннотация, должно сохраняться в sqlite. С помощью которого я могу увидеть свое прошлое путешествие в будущем, где буду делать фотографии и все такое интересное.

2. Здесь вы получите обновленные координаты. Используйте их для построения в режиме просмотра карты. Вам нужно будет снова удалить существующую аннотацию и отобразить график.

3. невозможно добавить новую аннотацию, не удалив старую аннотацию. У меня две кнопки, одна из которых — фото, а другая — кнопка видео. Мне нужно добавить аннотацию для обоих. и неограниченное время на карте

4. @7KV7 как я могу использовать объект newLocation в другом классе.

5. @синтезируйте объект и используйте в любом месте, как любой другой объект.

Ответ №2:

 [map setShowsUserLocation:TRUE];
  

карта является объектом MKMapView.

Ответ №3:

Используйте этот метод делегирования

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

        if (userLocation_) {
            [userLocation_ release];
        }
        userLocation_ = [newLocation retain];
    }
  

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

1. я пытаюсь получить доступ к другому методу класса в другом классе, но он выдает ошибку newlocation не объявлен — (CLLocationCoordinate2D)coordinate; { TNewMap *new; [новый LocationManager]; CLLocationCoordinate2D координированный; согласованный. широта = новая.newLocation.coordinate. широта; //37.810000; Координата. долгота = новое местоположение.координата. долгота; //-122.477989; возвращает координату; }

2. Получите ваше местоположение в appdelegate, затем вы сможете использовать это значение в нашем проекте.