我想在viewForAnnotation中顯示自定義消息而不是「我的位置」。我該怎麼做呢?在mkuserlocation上,如何在viewForAnnotation中顯示我自己的自定義消息
感謝 德肖恩
我想在viewForAnnotation中顯示自定義消息而不是「我的位置」。我該怎麼做呢?在mkuserlocation上,如何在viewForAnnotation中顯示我自己的自定義消息
感謝 德肖恩
在你MKMapView
的委託,實施方法mapView:viewForAnnotation
並檢查註釋是MKUserLocation
類型。如果是,請更改註釋的標題和字幕屬性。標註將自動提取新值。或者您可以創建一個全新的視圖並將其返回到此處。
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
if ([annotation isKindOfClass:[MKUserLocation class]]) {
annotation.title = @"I am here";
return nil;
}
return nil;
}
聲明:我還沒有測試過這個代碼。
它可以通過更新Title
財產MKUserLocation
。
由於MKAnnotation
協議不需要進行Title
屬性,鑄就註釋作爲參數傳遞給MKUserLocation
和設置屬性
- (MKAnnotationView*)mapView:(MKMapView *)mapView viewForAnnotation: (id<MKAnnotation>)annotation {
if ([annotation isKindOfClass:[MKUserLocation class]]) {
[(MKUserLocation*)annotation setTitle: @"I am here"];
return nil;
}
return nil;
}
只需直接引用它也能工作,像這樣...
mapView.userLocation.title = @"I am here";
這可以在任何地方對地圖視圖進行引用。
嗨,你不能像這樣直接設置標題......是否有任何其他方式來設置此註釋的標題? – user605957