2017-02-22 4 views
1

Это текущий код, после внесения изменений, предложенных, он больше не показывает маркер на карте для Сидней АвстралияGoogle Maps API полный экран в SWIFT3

класса LocateVC: UIViewController {

@IBOutlet weak var mapView: GMSMapView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    //override func loadView() { 
    // Create a GMSCameraPosition that tells the map to display the 
    // coordinate -33.86,151.20 at zoom level 6. 
    let camera = GMSCameraPosition.camera(withLatitude: -33.86 , longitude: 151.20, zoom: 6.0) 
    let mapView = GMSMapView.map(withFrame: self.mapView.bounds, camera: camera) 
    self.mapView = mapView 

    // Creates a marker in the center of the map. 
    let marker = GMSMarker() 
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) 
    marker.title = "Sydney" 
    marker.snippet = "Australia" 
    marker.map = mapView 
    } 

}

Выход

Это экран, который загружает This is the screen that loads

И не маркер на Сидней Австралия And no marker on Sydney Australia

ответ

0

Вы настраиваете mapview к основному view из ViewController

Так Меняйте эти две линии

let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) 
view = mapView 

С:

let mapView = GMSMapView.map(withFrame: self.mapView.bounds, camera: camera) 
self.mapView = mapView 
+0

ok, сделал это. Это теперь дает мне фатальную ошибку: неожиданно найдено нуль при разворачивании необязательного значения при загрузке карты –

+0

@JadeReynolds Проверьте, что ваша розетка 'mapView' правильно подключена к' LocateVC', если не подключить ее. –

+0

Ах да, я пропустил это, сейчас работает, большое спасибо –

Смежные вопросы