以下を使用して、ユーザーの場所のカスタム ビューを作成しました。
-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
if([annotation class]==[MKUserLocation class])
{
//my code to return the pin
}
else
{
//code for custom pin
}
ユーザーアクションの後、マップビューの setShowsUserLocation を NO に更新します。次に、別のカスタム ピン ビューを使用してユーザーの位置を追跡するコア ロケーション コントローラーを起動します。元のピンはしばらくの間消えますが、後でドラッグまたはピンチしてマップをズームすると再び表示されます。デバッグ中に、setShowsUserLocationがnoに設定されているにもかかわらず、上記のif条件が呼び出されたことがわかりました。