2011-06-19 64 views

回答

2

在你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; 
} 

聲明:我還沒有測試過這個代碼。

+0

嗨,你不能像這樣直接設置標題......是否有任何其他方式來設置此註釋的標題? – user605957

1

它可以通過更新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; 
} 
1

只需直接引用它也能工作,像這樣...

mapView.userLocation.title = @"I am here"; 

這可以在任何地方對地圖視圖進行引用。

相關問題