当前位置: 首页 > 知识库问答 >
问题:

Flutter谷歌地图-找不到API密钥

纪正德
2023-03-14

我正在尝试按照本教程在flutter中设置谷歌地图,但我遇到了一些问题。我的应用程序运行,但我看到一个白色屏幕,没有发生任何事情,并且将以下错误打印到终端:

E/MethodChannel#flutter/platform_views(13225): Failed to handle method call
E/MethodChannel#flutter/platform_views(13225): java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.geo.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml

这很奇怪,因为我的AndroidManifest.xml看起来像这样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.studievriend">
    <!-- Flutter needs it to communicate with the running application
         to allow setting breakpoints, to provide hot reload, etc.
    -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <application>
        <meta-data android:name="com.google.android.geo.API_KEY" android:value="AIxxxxxxxxxxx-xxxxxxxxxxxxxxx_xxxxxx"/>
    </application>
</manifest>

这正是错误所要求的,所以我不知道出了什么问题。我查看了其他线程,并做了一些建议,比如运行删除应用程序、flatter clean并重试flatter run,这也不起作用。

这些是我在pubspec中的依赖项。yaml

dependencies:
  flutter:
    sdk: flutter
  location: ^4.1.1
  cloud_firestore: ^1.0.5
  firebase_core: ^1.0.3
  google_maps_flutter: ^2.0.3

我还想添加GeoFlatterFire:^2.0.2,但是我得到了以下错误

Because geoflutterfire >=2.2.2 <3.0.0-nullsafety.1 depends on cloud_firestore ^0.16.0 and studievriend depends on cloud_firestore ^1.0.5, geoflutterfire >=2.2.2 <3.0.0-nullsafety.1 is forbidden.

So, because studievriend depends on geoflutterfire ^2.2.2, version solving failed.

我也尝试了一些其他版本,但我一直出错。

如果有人能帮我,我会非常感激的!

共有1个答案

夏季萌
2023-03-14

你用错了AndroidManifest。xml。请使用AndroidManifest。xml在应用程序目录中,而不是在调试目录中。调试清单仅用于颤振本身。正确的应该在这个位置:

android\app\src\main\AndroidManifest.xml

对于其他错误,可能需要导入较低版本的GeoFlatterFire,因为存在版本冲突。您已导入cloud_firestore:^1.0.5,但geofluttefire依赖于更新的版本。

 类似资料:
  • 最近Chrome开始发出以下警告: [违规]将非被动事件侦听器添加到阻止滚动的触摸移动事件。考虑将事件处理程序标记为“被动”,以使页面更具响应性。看https://www.chromestatus.com/feature/5745543795965952 这些都来自JavaScript谷歌地图API代码。我可以在自己的代码中将{passive:true}添加到addEventListener(),

  • 我正在做一个项目,选择世界各地的随机地点,需要从谷歌街景的一些功能。我正在使用谷歌地图的API v3。我的问题是getPanoramaByLocation方法。根据谷歌文档,getPanoramaByLocation是: 谢谢大家,希望这对未来的任何人都有帮助。

  • 我已经用自动完成和谷歌地理编码应用编程接口实现了谷歌地方应用编程接口。问题是结果似乎不正确。 有时自动完成列表中的一些选择结果根本没有地理编码,我得到的只是状态ZERO_RESULTS。 我知道Google Autocomplete也使用Places,而Google Geocode只使用邮政编码,这可能会有一些问题,但我如何限制Autocomplete只提供邮政编码结果呢。

  • 我正在努力学习本教程“https://medium.com/flutter-io/google-maps-and-flutter-cfb330f9a245“在颤振中添加谷歌地图。我用谷歌地图键更新了android清单,并添加了访问fine_位置的权限。我的模拟器上出现了白色屏幕,没有地图。我花了很多时间试图修复它,但徒劳。我还尝试了插件的示例用法。”https://pub.dartlang.org

  • 我遵循配置谷歌地图Android API v2官方步骤,我使用的是Android 3.1版本。我运行项目时出错 清单文件 一个ctivity_main.xml LogCat 我还想知道Google map API v2的最低要求

  • 我有这段代码来渲染地图。 即使两个点距离为25 km,我也会得到以下结果: 而我想渲染更高级别的缩放。 这样地 我使用fitBounds()方法 谢谢你的支持