Я хочу изменить местоположение своей карты с персональной координацией. (когда я говорю «personnal», это не «местоположение пользователя», а просто случайная координация).Изменить координаты карты (MapKit)
Это мой MapView Контроллер:
class MapSubViewController: UIViewController {
@IBOutlet weak var mapView: MKMapView!
let regionRadius: CLLocationDistance = 1000
override func viewDidLoad() {
super.viewDidLoad()
self.mapLocationUpdate(70.0, longitude: 70.0, title: "")
}
func mapLocationUpdate(latitude: Double, longitude: Double, title: String) {
let location = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
self.centerMapOnLocation(location, title: title)
}
func centerMapOnLocation(location: CLLocationCoordinate2D, title: String) {
let coordinateRegion = MKCoordinateRegion(center: location, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
self.mapView.setRegion(coordinateRegion, animated: false)
let annotation = MKPointAnnotation()
annotation.coordinate = location
annotation.title = title
self.mapView.addAnnotation(annotation)
}
}
я сказать функцию "mapLocationUpdate", когда я хочу изменить расположение моей карты:
Вот к примеру:
func addMapView(xPosition: Double, yPosition: Double, title: String) {
self.mapSubViewController = (self.storyboard!.instantiateViewControllerWithIdentifier("MapSubViewController") as? MapSubViewController)!
self.mapSubViewController.mapLocationUpdate(xPosition, longitude: yPosition, title: clubName)
[...]
}
Мое приложение вылетает, когда выполняется строка «self.mapSubViewController.mapLocationUpdate (...)». Когда это «viewDidLoad» контроллера, который сообщает функции «mapLocationUpdate», приложение не сбой.
Я думаю, это потому, что местоположение карты не может быть изменено в коде после того, как карта зарядилась.
Как я могу это сделать?
Извините за мой английский, я делаю все возможное :-)!
Thx!
Я понимаю, и я сделать это на моей функции «centerMapOnLocation». Когда я говорю mapLocationUpdate, карта переходит в мое местоположение, но после этого я не могу изменить это местоположение, потому что это приложение сбой. Я пытаюсь изменить местоположение после viewDidLoad после инициализации представления – Robin
Я меняю mu subjet на ваш код, но проблема такая же! – Robin
Когда вы говорите: «Я не могу изменить это местоположение после», вы имеете в виду программно или фактически в приложении «касание» карты? Если это второй вариант, попробуйте включить взаимодействие пользователей в раскадровке. – giacavicchioli