Google地图无法在Today Extension iOS上显示

时间:2018-01-12 02:55:15

标签: ios swift google-maps today-extension

我想在我的应用的今日扩展中显示谷歌地图,但它不起作用。我用谷歌搜索了一天,但找不到我的问题。

以下是我的代码和我得到的结果

import UIKit
import NotificationCenter
import GoogleMaps

class TodayViewController: UIViewController, NCWidgetProviding {

    override func viewDidLoad() {
        super.viewDidLoad()
        GMSServices.provideAPIKey(myKey)
        let camera = GMSCameraPosition.camera(withLatitude: -33.868,
                                              longitude: 151.2086,
                                              zoom: 14)
        let mapView = GMSMapView.map(withFrame: CGRect(x: 0, y: 0, width: 100, height: 100), camera: camera)

        let marker = GMSMarker()
        marker.position = camera.target
        marker.snippet = "Hello World"
        marker.map = mapView

        self.view.addSubview(mapView)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func widgetPerformUpdate(completionHandler: (@escaping (NCUpdateResult) -> Void)) {
        // Perform any setup necessary in order to update the view.

        // If an error is encountered, use NCUpdateResult.Failed
        // If there's no update required, use NCUpdateResult.NoData
        // If there's an update, use NCUpdateResult.NewData

        completionHandler(NCUpdateResult.newData)
    }

}

enter image description here

我认为Google正在使用一些技巧来展示今天的地图,例如显示图片而不是地图,因为该地图无法互动。

1 个答案:

答案 0 :(得分:0)

您是否检查过您是否可以在iOS主应用程序中正确查看地图。

您可能忘记为今天的分机GMSServices.provideAPIKey(".........")

配置API密钥

此外,请确保在Google控制台中正确设置了应用程序标识符。今天的小部件与主应用程序具有不同的应用程序标识符,因此请确保在Google控制台中同时使用这两个应用程序标识符。