用于 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(Swift版)Flutter集成关键步骤

用于 IOS 的谷歌分析 SDK 不再跟踪屏幕或事件。曾经工作

颤动的谷歌地图没有出现

如何在 Flutter 插件的 Swift 编写的 iOS 部分中使用 Objective-C 框架

swift 添加友盟sdk swift 如何桥接oc Flutter接入友盟 by ios swift

Flutter iOS 模块无法访问新的 Swift 文件并且打印不工作