2012-08-02 81 views
1

我得到了一個覆蓋層的MKMapView,允許用戶用手指畫在MKMapView上。我知道X,Y點的手指線是什麼。 我想知道的是如何將這個X,Y點的數組轉換爲座標2D對象(經度,緯度)iPhone MapKit是否可以映射一系列觸摸的座標?

我看到它的方式是:用戶打開覆蓋地圖,滾動到任意位置,然後在地圖上繪製一條線,線上的每個點都轉換爲座標2D,地圖工具包在每個座標處放下一個針。

我知道地圖視圖的中心座標可能會被查詢,但我不知道如何計算偏離中心點的座標。我知道經度和緯度略微「曲線」,所以它不是一個簡單的偏移方程。

有沒有關於如何將地圖視圖觸摸轉換爲座標的任何開源或示例項目?

PS。我打算將這個用於iPhone控制的機器人項目來爲機器人設置路標。

回答

3

應用手勢識別器,然後嘗試下面的代碼來獲得視圖的座標,然後將它們轉換爲經度和緯度。

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

注:沒有測試,但看起來這會工作,這應該沒有覆蓋工作

代碼歸功於:How to add a push pin to a MKMapView(IOS) when touching?的接受的答案