我试图做一些关于提高 iPhone 定位精度的编码。我从我的 iPhone 硬件获得了所有需要的信息(例如纬度、经度、deviceMotion、陀螺仪..),并且需要在 mapView 上显示更准确的计算结果。但是就在这时我发现mapView的userLocation属性是只读的,所以这可能意味着即使使用setCoordinate方法也无法更改它,所以伤心=[有什么解决方案可以处理它或者有另一种显示方式在我的地图视图上的位置?谢谢!
问问题
2249 次
1 回答
1
您只需要使用 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];
最后不要忘记发布注释。
于 2012-02-02T09:35:26.307 回答