Почему маркер не отображается в GMSMapView? - PullRequest
0 голосов
/ 25 марта 2019

Вот мой код:

let camera = GMSCameraPosition.camera(withLatitude: 51.5, longitude: -0.127, zoom: 12.0)

var mainView:UIView = GMSMapView.init(frame: CGRect(x:50,y:150,width:250,height:300))
self.view.addSubview(mainView)
let mapView = GMSMapView.map(withFrame: mainView.frame, camera: camera)
mainView = mapView

//Marker Position
let position = CLLocationCoordinate2D(latitude: 51.5, longitude: -0.127)
let london = GMSMarker(position: position)
london.title = "London"
london.icon = UIImage(named: "house")
london.map = mapView

1 Ответ

0 голосов
/ 25 марта 2019

Заменить

var mainView:UIView = GMSMapView.init(frame: CGRect(x:50,y:150,width:250,height:300))
 self.view.addSubview(mainView)
let mapView = GMSMapView.map(withFrame: mainView.frame, camera: camera)
mainView = mapView

с

var mainView:GMSMapView! // instance var

 // in viewDidLoad
 let camera = GMSCameraPosition.camera(withLatitude: 51.5, longitude: -0.127, zoom: 12.0)
 mainView = GMSMapView.map(withFrame:CGRect(x:50,y:150,width:250,height:300), camera: camera) 
 mapView.delegate = self
 self.view.addSubview(mainView)
...