2016-04-08 23 views
0

Haritalarımın konumunu numaralı kişisel kod adı ile değiştirmek istiyorum. ("personnal" derken, "kullanıcı konumu" değil, sadece rastgele bir koordinattır).Haritadaki koordinatları değiştirin (MapKit)

Bu benim MapView Denetleyicisi'dir:

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) 
    } 

} 

benim haritanın yerini değiştirmek istediğinizde benim işlevini "mapLocationUpdate" anlatmak: Örneğin İşte

:

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 (...)" satırı çalıştırıldığında uygulamanız çöküyor. "mapLocationUpdate" işlevini söyleyen denetleyicinin "viewDidLoad" olduğu zaman, uygulama çökmez.

Bunun nedeni haritadan sonra harita konumunun kodda değişiklik olmamasıdır.

Nasıl yapabilirim?

İngilizcem için özür dilerim, elimden geleni yaparım :-)!

Thx! Eğer buna benzer bir şey için gereken bir harita üzerinde özel bir konum ayarlamak için

cevap

0

:

let pLat = 43.6109200 
let pLong = 3.8772300 
let center = CLLocationCoordinate2D(latitude: pLat, longitude: pLong) 

let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01)) 

self.mapView.setRegion(region, animated: true) 
+0

anlıyorum ve benim işlevi "centerMapOnLocation" konulu bunu. MapLocationUpdate'e söylediğimde, harita konumumda devam ediyor, ancak tha uygulama çökmesi nedeniyle bu konumu değiştiremiyorum. Görünüm başlatıldı sonra viewDidLoad sonra konumu değiştirmek için arama – Robin

+0

kodunuza mu subjet değiştirebilir, ancak sorun aynıdır! – Robin

+0

"Bu konumu sonra değiştiremiyorum" derken, programda ya da aslında uygulamada "dokunmak" anlamına mı geliyorsunuz? İkinci seçenekse, film şeridinde kullanıcı etkileşimlerini etkinleştirmeyi deneyin. – giacavicchioli