2012-02-02 67 views
0

我試圖做一些關於提高iPhone定位精度的編碼。 我從我的iPhone硬件中獲得了所有需要的信息(例如緯度,經度,deviceMotion,Gyro ..),並需要在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在地圖上繪製一個點也是可行的,但是它比你的編碼要多得多,謝謝! – 2012-02-02 11:32:29

相關問題