2012-02-02 7 views
0

私はiPhoneの測位精度を向上させるためのコーディングを行っています。 iPhoneハードウェアから必要な情報(緯度、経度、デバイスモーション、ジャイロなど)をすべて取得しており、mapViewでより正確な計算結果を表示する必要があります。 しかし、私は、mapViewのuserLocationプロパティが読み取り専用であることを知っているので、おそらくsetCoordinateメソッドを使用しても変更できないことを意味していますので、悲しいです。[ それに対処できるソリューションはありますか?マップビューでその位置を表示しますか? ありがとう!mapViewのuserLocationを、作成したMKUserLocationに設定するにはどうすればよいですか?

答えて

0

CLLocationCoordinate2DMakeを使用してCLLocationCoordinate2Dを作成し、そこに経度を設定するだけです。 次に新しいMKAnotation(たとえばyourPositionAnotation)としてポジションを作成し、CLLocationCoordinate2Dからポジションを座標として設定します。次に、このようなことをしてください:

// create coordinate 
CLLocationCoordinate2D yourPos = CLLocationCoordinate2DMake(lat, lon); 
// create MKAnnotation 
MKAnnotationView *yourAnnotation = [[MKAnnotationView alloc] init]; 

yourAnnotation.coordinate = yourPos; 

// remove all old annotations 
[self.myMapView removeAnnotations:self.myMapView.annotations] 
// add your annotation 
[self.myMapView addAnnotation:yourAnnotation]; 

最後にリリース注釈を忘れないでください。

+1

あなたのアイデアは素晴らしいです!私は、Core Graphicを使って地図上にポイントを描くこともできますが、あなたよりもずっと多くのコーディングをしていると思います。 –

関連する問題