2017-06-30 16 views
0

上のマーカーを更新するために、どのように私は、これは私のコードであるGoogleは迅速な3つのGoogleマップ - 地図

をマッピングし使用しています:

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 

} 

UIViewのは、それがマップをロード中ということがあります。ボタンもあります。
ボタンを押すと、マーカーの位置を更新したいと思います。

おかげ

+0

'viewDidLoad()'で追加したマーカーの位置を更新しますか? – Subramanian

+0

はい。それは正しいです –

答えて

2

クラス変数としてを作成します。ボタンクリック機能は、次のコードを追加します。

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 

} 
}