1

ユーザーがMKMapViewの上に指でペイントできるオーバーレイを備えたMKMapViewを入手しました。X、Yポイントで指で描いた線が何であるかを知っています。私が知りたいのは、このX、Yポイントの配列をcoordinate2Dオブジェクト(緯度、経度)に変換する方法です。

私の見方では、ユーザーはオーバーレイマップを開き、任意の場所にスクロールしてから、マップ上に線を引きます。線上の各ポイントはcoordinate2Dに変換され、マップキットは各座標にピンをドロップします。

マップビューの中心座標が照会される可能性があることは知っていますが、中心からオフセットされたポイントの座標を計算する方法がわかりません。緯度と経度がわずかに「曲がりくねっている」ことを知っているので、それは単純なオフセット方程式ではありません。

マップビューのタッチを座標に変換する方法に関するオープンソースまたはサンプルプロジェクトはありますか?

PS。これをiPhone制御のロボットプロジェクトに使用して、ロボットのウェイポイントを設定する予定です。

4

1 に答える 1

3

ジェスチャレコグナイザーを適用してから、以下のコードを試して座標を表示し、緯度と経度に変換してください。

CGPoint touchPoint = [gestureRecognizer locationInView:self.mapView];   
    CLLocationCoordinate2D touchMapCoordinate = 
        [self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView];

注:テストされていませんが、これは機能するようです。これはオーバーレイなしで機能するはずです

コードクレジットは次のようになります:タッチするときにMKMapView(IOS)にプッシュピンを追加するにはどうすればよいですか?の受け入れられた答え

于 2012-08-02T12:33:53.760 に答える