Nasıl CLLocationManager olmadan kullanıcılar mevcut konum için bir MKMapView zoom yapabilirim?
Bir seçenek "kullanıcıları Göster geçerli konum:" hangi otomatik olarak map
kullanıcıların bir yeri gösterecektir. " diye bir şey var MKMapView
ile
(Eğer değişirse) bulunduğunda hareket ettirin ve bu konumu yakınlaştırmak için istiyorum.
Sorun, herhangi bir yöntem, kullanıcı konum hiçbir yerde 5 ** kod koymak zorunda kaldım map
güncelleme olduğunda çağrılacak görünmüyor.
Bunun için zoom/hareket edebilmem MKMapView
var olduğunda haberdar olmak için bir yol (veya güncelleme) kullanım yeri var mı? Eğer ben kullanmak benim kendi CLLocationManager
güncelleştirmeleri ben alamadım karşılık ile güncelleştirmeleri kullanıcı işareti göster, çok aptal görünüyor benim göster taşır ve yakınlaştırır saniye önce mavi pin görünür.
Bu temel işlevleri gibi geliyor, ama bu hafta bir çözüm aramakla geçirdim ve hiçbir şey açık değil.
CEVAP
MKMapView
userLocation.location
özelliği KVO bildirimleri için kayıt olmalısınız.
Bunu yapmak için, harita görünümü başlatıldı yerde senin ViewController veya herhangi bir yerde viewDidLoad:
Bu kod.
[self.mapView.userLocation addObserver:self
forKeyPath:@"location"
options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)
context:NULL];
Bu yöntem KVO bildirimleri almak için uygulamak
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context {
if ([self.mapView showsUserLocation]) {
[self moveOrZoomOrAnythingElse];
// and of course you can use here old and new location values
}
}
Bu kod benim için çalışıyor.
BTW, self
Bu bağlamda benim ViewController.
Nasıl penceresinden karma kaldırmak iç...
Nasıl sayfayı kaydırmak için neden olm...
Nasıl Gıt mevcut şube adı almak için?...
Nasıl stil için bir <select> sad...
Nasıl eğer bir dizin zaten mevcut deği...