Znalazłem lepszy sposób byłoby podklasy MKUserLocation:
class SimulatedUserLocation: MKUserLocation {
private var simulatedCoordinate = CLLocationCoordinate2D(latitude: 39, longitude: -76)
override dynamic var coordinate: CLLocationCoordinate2D {
get {
return simulatedCoordinate
}
set {
simulatedCoordinate = newValue
}
}
}
Następnie dodać go jako adnotacji mapView.addAnnotation(SimulatedUserLocation()). (Można też chcą, aby ukryć prawdziwą lokalizację pierwszy mapView.showsUserLocation = false)
iOS uczyniłaby adnotacji dokładnie jak prawdziwy lokalizacji użytkownika.
dynamic jest stosowany na nieruchomości tak, że zmiana współrzędnych wyzwala KVO i przenosi go na mapie.