如何将mapView的userLocation设置为我创建的MKUserLocation?

时间:2012-02-02 08:29:53

标签: ios5 mkmapview userlocation

我试图做一些关于提高iPhone定位准确性的编码。 我从iPhone硬件获得了所有需要的信息(例如纬度,经度,设备运动,陀螺......),需要在mapView上显示更准确的计算结果。 但就在那时我发现mapView的userLocation属性是readonly,所以它可能意味着即使使用setCoordinate方法也无法更改,所以sad = [ 是否有任何解决方案可以处理它或有另一种方法在我的地图视图上显示该位置? 谢谢!

1 个答案:

答案 0 :(得分: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];

最后不要忘记发布注释。