我正在將一個註釋加載到我的地圖視圖上。加載地圖時,註釋顯示爲引腳。如何在地圖上自動顯示標題/副標題(pin)
但是,標題和副標題不會自動出現在引腳上。目前,用戶需要在標題顯示之前點擊該引腳。
有沒有辦法讓地圖加載時自動顯示標題?
(這個問題是幾乎同樣的事情,但也不能令人信服:To display the title for the current loaction in map in iphone,因爲我已經在我的對象中定義的-title和-subtitle屬性。)
感謝
我正在將一個註釋加載到我的地圖視圖上。加載地圖時,註釋顯示爲引腳。如何在地圖上自動顯示標題/副標題(pin)
但是,標題和副標題不會自動出現在引腳上。目前,用戶需要在標題顯示之前點擊該引腳。
有沒有辦法讓地圖加載時自動顯示標題?
(這個問題是幾乎同樣的事情,但也不能令人信服:To display the title for the current loaction in map in iphone,因爲我已經在我的對象中定義的-title和-subtitle屬性。)
感謝
的方法調用是來自MKMapView的「selectAnnotation:animated」。
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views
{
MKAnnotationView *annotationView = [views objectAtIndex:0];
id<MKAnnotation> mp = [annotationView annotation];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([mp coordinate] ,350,350);
[mv setRegion:region animated:YES];
[mapView selectAnnotation:mp animated:YES];
}
如果你正在做這是調用setRegion方法同樣的事情,然後確保你叫
[mapView selectAnnotation:mp animated:YES];
後
[mv setRegion:region animated:YES];
在iOS的11起,有一個新的MKAnnotationView
調用MKMarkerAnnotationView
,它可以顯示標題和副標題而不被選中。檢查https://developer.apple.com/documentation/mapkit/mkmarkerannotationview
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
guard !(annotation is MKUserLocation) else {
return nil
}
if #available(iOS 11.0, *) {
let annoView = MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: "HunterAnno")
annoView.canShowCallout = true
return annoView
}
let annoView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "HunterAnnoLow")
annoView.canShowCallout = true
return annoView
}
雖然此鏈接可以回答這個問題,最好是在這裏有答案的主要部件,並提供鏈接以供參考。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/17880863) – stdunbar 2017-11-08 17:53:25