2017-06-30 1 views
0

i google bin mit Kartenswift 3 Google Maps - wie Markierung auf der Karte aktualisieren

dies ist mein Code:

import UIKit 
import GoogleMaps 

class ViewController: UIViewController { 

@IBAction func pressed(_ sender: Any) { 

    //self.myMapView.marker.position = CLLocationCoordinate2D(latitude: +31.75097956, longitude: +35.23694378) 

} 




@IBOutlet weak var myMapView: GMSMapView! 


override func viewDidLoad() { 
    super.viewDidLoad() 


    let camera = GMSCameraPosition.camera(withLatitude: +31.75097946, longitude: +35.23694368, zoom: 17.0) 
    self.myMapView.mapType = .terrain 
    self.myMapView.camera = camera 
    // Creates a marker in the center of the map. 
    let marker = GMSMarker() 
    marker.position = CLLocationCoordinate2D(latitude: +31.75097946, longitude: +35.23694368) 
    marker.title = "some text" 
    marker.map = self.myMapView 
    marker.opacity = 1.0 

} 

Es gibt eine UIView, dass in sie die Karte lädt. Es gibt auch einen Knopf.
Wenn ich eine Taste drücke, möchte ich die Position des Markers aktualisieren.

dank

+0

Möchten Sie die Marker Position, die Sie auf der "ViewDidLoad()" hinzugefügt? – Subramanian

+0

ja. das ist richtig –

Antwort

2

als Klassenvariable erstellen. Und die Schaltfläche Klick-Funktion fügen Sie den folgenden Code

import UIKit 
import GoogleMaps 

class ViewController: UIViewController { 


@IBOutlet weak var myMapView: GMSMapView! 
var marker: GMSMarker! 


override func viewDidLoad() { 
    super.viewDidLoad() 


    let camera = GMSCameraPosition.camera(withLatitude: +31.75097946, longitude: +35.23694368, zoom: 17.0) 
    self.myMapView.mapType = .terrain 
    self.myMapView.camera = camera 
    // Creates a marker in the center of the map. 
    marker = GMSMarker() 
    marker.position = CLLocationCoordinate2D(latitude: +31.75097946, longitude: +35.23694368) 
    marker.title = "some text" 
    marker.map = self.myMapView 
    marker.opacity = 1.0 

} 

@IBAction func pressed(_ sender: Any) { 

    //New location coordinate 
    marker.position = CLLocationCoordinate2D(latitude: -1.75097946, longitude: +15.23694368) 

    let camera = GMSCameraPosition.camera(withTarget: marker.position, zoom: 17.0) 
    mapView.camera = camera 

} 
} 
Verwandte Themen