用于 Flutter iOS Swift 设置的谷歌地图
Posted
技术标签:
【中文标题】用于 Flutter iOS Swift 设置的谷歌地图【英文标题】:Google Maps for Flutter iOS Swift setup 【发布时间】:2019-05-16 07:09:58 【问题描述】:设置官方 Google Maps for Flutter 插件的说明包括将 Google API 密钥添加到 AppDelegate.m 文件中:
在应用程序委托 ios/Runner/AppDelegate.m 中指定您的 API 密钥:
#include "AppDelegate.h"
#include "GeneratedPluginRegistrant.h"
#import "GoogleMaps/GoogleMaps.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[GMSServices provideAPIKey:@"YOUR KEY HERE"];
[GeneratedPluginRegistrant registerWithRegistry:self];
return [super application:application didFinishLaunchingWithOptions:launchOptions];
@end
我的颤振项目有一个 AppDelegate.swift 文件而不是一个 AppDelegate.m 文件,我不确定如何添加所需的密钥,因为语法不同:
import UIKit
import Flutter
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
) -> Bool
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
谁能帮帮我?
【问题讨论】:
在此之后您能否成功启动应用程序? 是的。你有什么问题? 【参考方案1】:您可以按如下方式添加您的 API 密钥:
AppDelegate.swift:
import UIKit
import Flutter
import GoogleMaps // Add this line!
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
) -> Bool
GeneratedPluginRegistrant.register(with: self)
GMSServices.provideAPIKey("YOUR_API_KEY") // Add this line!
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
【讨论】:
来源:github.com/flutter/plugins/blob/master/packages/…【参考方案2】:还有一件事,别忘了在 ios/Runner/Info.plist 上添加以下行
<key>io.flutter.embedded_views_preview</key>
<true/>
【讨论】:
以上是关于用于 Flutter iOS Swift 设置的谷歌地图的主要内容,如果未能解决你的问题,请参考以下文章
用于 IOS 的谷歌分析 SDK 不再跟踪屏幕或事件。曾经工作
如何在 Flutter 插件的 Swift 编写的 iOS 部分中使用 Objective-C 框架