【问题标题】:Google Maps shows blank map using google_maps_flutter plugin谷歌地图使用 google_maps_flutter 插件显示空白地图
【发布时间】: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 我做到了,但遗憾的是我不确定具体问题是什么。我决定从头开始重新开始一个教程,它没有问题。希望我能提供更多帮助。

标签: dart flutter


【解决方案1】:
  1. 登录[谷歌云平台控制台][1]。
  2. 单击 项目下拉菜单并选择或创建您要为其创建的项目 想要添加 API 密钥。
  3. 点击菜单(左上角汉堡) 按钮并选择 API 和服务 > 凭据。
  4. 在凭据页面上,单击创建凭据 > API 密钥。重复这个 创建 2 个密钥的步骤。
  5. 在您的 Flutter 项目中,确保 以下文件使用活动 API 密钥:
    • android/app/src/main/AndroidManifest.xml
    • ios/Runner/AppDelegate.swift
  6. 点击菜单(左上角汉堡)按钮并选择 APIs & Services > Library
  7. 点击 以下各项,然后单击“启用”
    • Android 版地图 SDK
    • iOS 版地图 SDK
  8. 我建议返回到您在第 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 版地图。可以为每个平台共享或生成密钥。

      【讨论】:

        猜你喜欢
        • 2016-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-04
        • 1970-01-01
        • 2016-04-09
        相关资源
        最近更新 更多