Изменить размер Google Maps Swift 4 - PullRequest
0 голосов
/ 04 июня 2018

Я ознакомился с руководством по началу работы с картами Google, но карта находится под строкой состояния, и я этого не хочу.Поэтому я создал другое представление со свойством класса GMSMapView и связал с ним созданную карту.Однако, когда я запускаю код, я получаю:

, оканчивающийся с необработанным исключением типа NSException

, и он переходит в файл AppDelegate.swift со словами:

Тема 1: сигнал SIGABRT

Я не знаю, что я делаю неправильно, и не могу найти ответы, чтобы это исправить.

Вот мой быстрый4 код:

import UIKit
import GoogleMaps

class FirstViewController: UIViewController {
    @IBOutlet weak var mapView: GMSMapView!

    override func viewDidLoad() {
        super.viewDidLoad()
        GMSServices.provideAPIKey("AIzaSyDNpN4_CfRBAY60U7qgWQIqJAwvjEFMwNk")
        let camera = GMSCameraPosition.camera(withLatitude: 41.3114, longitude: -105.5911, zoom: 15)
        mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)

        view.addSubview(mapView)
    }
}

Main.Storyboard picture

1 Ответ

0 голосов
/ 04 июня 2018

Если у вас есть представление карты в раскадровке, вам не нужно инициализировать его снова и добавлять в качестве подпредставления.

И вы должны переместить ключ API в AppDelegate

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        GMSServices.provideAPIKey("AIzaSyDNpN4_CfRBAY60U7qgWQIqJAwvjEFMwNk")
        return true
    }
}

ViewController

class ViewController: UIViewController{

    @IBOutlet weak var mapView: GMSMapView!

    override func viewDidLoad() {
        super.viewDidLoad()
        mapView.camera = GMSCameraPosition.camera(withLatitude: 41.3114, longitude: -105.5911, zoom: 15)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...