Nasıl mapkit kullanıcı yerini göstermeye?

oy
3

Bir kullanıcının konumu için mavi nabız gibi atan nokta görüntülemek istiyorum. Bunu yapıyorum:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation    *)newLocation fromLocation:(CLLocation *)oldLocation{
//some other stuff here
[self.mapView setShowsUserLocation:YES];
}

Ama sonunda olsun

-[MKUserLocation establishment]: unrecognized selector sent to instance 0x125e90

Bu başka bir yol yapıyor olması gerekmez mi?

-- DÜZENLE --

Ayrıca hangi Sonunda yukarıda istisna olsun, nerede bu yapıyorum:

- (MKAnnotationView *) mapView:(MKMapView *)_mapView viewForAnnotation:(AddressNote *) annotation{

if(annotation.establishment != nil){
//do something}

kurulması Ben AddressNote üzerindeki özel bir sınıftır. kuruluş değerine sahip olduğunda, durum oluşur. Ben ShowsUserLocation set yoksa, her şey iyi çalışıyor ancak tabii ki, kullanıcı yerini görmüyorum.

Oluştur 14/03/2010 saat 20:02
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
15

Ne zaman viewForAnnotationistenir, size verilen açıklama geçerli kullanıcı konumuna tekabül Hava olmadığını kontrol etmeniz gerekir. Evet, nil dönerseniz, aksi kendi Normal annoationView döner.

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id )annotation {
    if (annotation==self.mapView.userLocation)
        return nil;
    //then the rest of your code for all your 'classic' annotations.

[DÜZENLEME] alternatif bir yol açıklama sınıfının tür kontrol etmektir:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id )annotation {
    if ([annotation isKindOfClass:[MKUserLocation class]])
        return nil;
    //then the rest of your code for all your 'classic' annotations.

Cevap 16/03/2010 saat 10:05
kaynak kullanıcı

oy
8

Emin ne gerçek bir sorundur, ancak her güncellemeye bunu yapmak gerekmez. Bir kez oluşturduktan sonra ayarlayın mapViewve iş olmalıdır.

mapView.showsUserLocation = YES;

nokta görünür olması için Sen, kullanıcı aslında bölgeye haritayı yakınlaştırmak için gerekebilir.

Cevap 14/03/2010 saat 20:07
kaynak kullanıcı

oy
0

Yanlış temsilci yöntemini kullanıyoruz. MapView, kullanıcının konumunu yakalamak için bu temsilci yöntemi kullanmalısınız:

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
}
Cevap 05/05/2011 saat 00:49
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more