Nasıl programlı MKAnnotationView sesleniyorum açmak için? (IPhone MapKit)

oy
26

Bir için ek bilgiyi açmak istiyoruz MKPinAnnotationViewprogramlı. Örneğin ben harita üzerinde 10 işaretçilerine bırakın ve bana en yakın bir yukarı açmak istiyorum. Bunu hakkında nasıl gitmek?

Elma için 'seçilmiş' parametresini belirttiği MKAnnotationView's(Bu işe yaramazsa, denedim), ancak doğrudan ayarlama etmemektedir.

Geri kalanı için MKAnnotationViewsadece bir setHighlighted (vardır aynı hikaye ) ve kutu ShowCalloutyöntemi ..

Herhangi bu hiç mümkün olup olmadığını ipuçları?

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


2 cevaplar

oy
77

senin mapViewController olarak bir eylem yöntemi oluşturmak:

- (void)openAnnotation:(id)annotation 
{
    //mv is the mapView
    [mv selectAnnotation:annotation animated:YES];

}

Daha sonra mevcut konumunu ve dizideki mevcut ek açıklamaları yürüyen dayalı en yakın ek açıklama belirleyebilir.

[mv annotations];

En yakın açıklama hesaplanır sonra, çağrı:

[self openAnnotation:closestAnnotation];

MapView görüntüleme alanının ortasına işareti koymak otomatik kaydırma gerekir.

Cevap 26/02/2010 saat 05:45
kaynak kullanıcı

oy
1

Swift 3'te bu şekilde güncellenir:

func openAnnotation(annotation: MkAnnotation) {
_ = [mapView .selectAnnotation(annotation, animated: true)]
}

ve herhangi ek açıklama kullanılarak çağrılabilir (bu açıklama çizgisi görünümü açın ve harita üzerinde ek açıklama ortalamak dener)

Örneğin ek açıklamalar varsayımsal bir listedeki ikinci ek açıklama kullanılmıştır.

openAnnotation(annotation: mapView.annotations[1])
Cevap 23/05/2017 saat 16:14
kaynak kullanıcı

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