Как я могу установить userLocation mapView в MKUserLocation, который я создал? - PullRequest
0 голосов
/ 02 февраля 2012

Я пытаюсь написать код для улучшения точности позиционирования iPhone.Я получил всю необходимую информацию (например, широту, долготу, deviceMotion, Gyro ..) с моего аппаратного обеспечения iPhone, и мне нужно отобразить более точный результат вычисления на mapView.Но только тогда я обнаружил, что свойство userLocation mapView доступно только для чтения, поэтому, вероятно, это означает, что его нельзя изменить, даже используя метод setCoordinate, так что sad = [Есть ли какое-либо решение, которое может с этим справиться, или есть другой способ показатьположение на моей карте?Спасибо!

1 Ответ

1 голос
/ 02 февраля 2012

Вам просто нужно создать CLLocationCoordinate2D с помощью CLLocationCoordinate2DMake и установить там широту и долготу.Затем создайте свою позицию в качестве нового 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];

Не забывайте аннотацию релиза в конце.

...