谷歌地图使用 google_maps_flutter 插件显示空白地图
Posted
技术标签:
【中文标题】谷歌地图使用 google_maps_flutter 插件显示空白地图【英文标题】:Google Maps shows blank map using google_maps_flutter plugin 【发布时间】:2019-04-15 21:07:22 【问题描述】:我正在开发一个使用 google_maps_flutter 插件(版本 0.5.7)来显示地图的应用程序。直到昨天它工作得很好。我没有对我的应用程序进行任何更新,它只是在我今天打开它时停止显示空白地图。 Flutter Doctor 没有显示任何问题,Flutter Analyze 也是如此。该插件似乎部分工作,因为我正在使用 GoogleMap
onTap
属性来显示点击位置的坐标,并且它工作得很好(I/flutter (11935): LatLng(25.895589930847475, -80.28307791799307)
,虽然没有创建标记。
_handleTap(LatLng point)
setState(()
print(point);
_markers.add(Marker(
markerId: MarkerId(point.toString()),
position: point,
infoWindow: InfoWindow(
title: point.toString(),
),
icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueMagenta),
));
);
任何想法,可能会发生什么?此插件是否已报告任何可能导致此问题的问题?
【问题讨论】:
请不要因为使用 android-studio 标签而标记问题:Android Studio 标签应该仅在您对 IDE 本身有疑问时使用,而不是您在其中编写(或想要编写)的任何代码。请参阅 when is it appropriate to remove an IDE tag、How do I avoid misusing tags? 和 the tagging guide。请改用 [android] 或其他相关标签。 我只是猜测我还没有在颤振上尝试过谷歌地图。可能与地图键api有关。 我也看到了同样的情况。在 ios 上它是白色的屏幕,而在 Android 上是灰色的。我已经仔细检查了我的 api 密钥,所以很确定不是这样。我还在 Google 的 api 控制台中注意到,它确实确认了 iOS 请求,但没有显示任何 Android 请求。 @eimmer 你找到答案了吗? @Anton 我做到了,但遗憾的是我不确定具体问题是什么。我决定从头开始重新开始一个教程,它没有问题。希望我能提供更多帮助。 【参考方案1】:-
登录[谷歌云平台控制台][1]。
单击
项目下拉菜单并选择或创建您要为其创建的项目
想要添加 API 密钥。
点击菜单(左上角汉堡)
按钮并选择 API 和服务 > 凭据。
在凭据页面上,单击创建凭据 > API 密钥。重复这个
创建 2 个密钥的步骤。
在您的 Flutter 项目中,确保
以下文件使用活动 API 密钥:
android/app/src/main/AndroidManifest.xml
ios/Runner/AppDelegate.swift
点击菜单(左上角汉堡)按钮并选择 APIs & Services > Library
点击
以下各项,然后单击“启用”
Android 版地图 SDK
iOS 版地图 SDK
我建议返回到您在第 3 步中创建的 API 密钥,然后将其中的一个限制为 iOS 应用和地图 适用于 iOS 的 SDK 和其他适用于 Android 的 SDK 和适用于 Android 的 Maps SDK。
[1]:https://cloud.google.com/console/google/maps-apis/overview
【讨论】:
【参考方案2】:可能是因为模拟器中的连接问题(wifi/internet)
将您网络的 DNS 地址更改为 8.8.8.8(Google 的 DNS)或您偏好的其他地址:
MacOSX:
打开“系统偏好设置” 点击“网络” 选择您的计算机连接的网络 点击“高级” 选择“DNS”,选择“+”按钮,输入“8.8.8.8”(Google 的 DNS),或者如果您更喜欢 OpenDNS,请输入“208.67.222.222” 选择“确定”和“应用”
Windows 和 Linux: https://developers.google.com/speed/public-dns/docs/using
然后关闭模拟器并重新启动它。
【讨论】:
【参考方案3】:我在 iOS 中确实遇到过类似的问题。确保在谷歌开发者控制台中启用这两个 API。 iOS 版地图和 Android 版地图。可以为每个平台共享或生成密钥。
【讨论】:
以上是关于谷歌地图使用 google_maps_flutter 插件显示空白地图的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Android App 在使用谷歌地图时崩溃