Google Maps使用google_maps_flutter插件显示空白地图

时间:2019-04-15 21:07:22

标签: dart flutter

我正在开发一个使用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),
   ));
  });
}

任何想法,会发生什么?是否已报告此插件有任何问题可能导致此问题?

enter image description here

2 个答案:

答案 0 :(得分:3)

  1. 登录到[Google Cloud Platform Console] [1]。
  2. 点击 项目下拉菜单,然后选择或创建您要为其创建的项目 要添加API密钥。
  3. 单击菜单(左上方的汉堡包) 按钮,然后选择API和服务>凭据。
  4. 在“凭据”页面上,单击创建凭据> API密钥。重复这个 步骤来创建2个密钥。
  5. 在Flutter项目中,确保 以下文件使用了活动的API密钥:
    • android / app / src / main / AndroidManifest.xml
    • ios / Runner / AppDelegate.swift
  6. 单击菜单(左上汉堡包)按钮,然后选择“ API和服务”>“库”
  7. 点击 以下每个项目,然后单击“启用”
    • 适用于Android的Maps SDK
    • iOS版Maps SDK
  8. 我建议返回到您在步骤3中创建的API密钥,然后将其中一个限制为iOS应用和地图 适用于iOS的SDK和适用于Android的另一个SDK和适用于Android的Maps SDK。

    [1]:https://cloud.google.com/console/google/maps-apis/overview

答案 1 :(得分:1)

可能是由于模拟器(wifi /互联网)中的连接问题

将网络的DNS地址更改为8.8.8.8(Google的DNS)或您的其他偏好设置:

MacOSX:

打开“系统偏好设置” 点击“网络” 选择您的计算机连接的网络 点击“高级” 选择“ DNS”,选择“ +”按钮,键入“ 8.8.8.8”(Google的DNS),或者如果您更喜欢OpenDNS,则输入“ 208.67.222.222” 选择“确定”和“应用”

Windows和Linux: ssh-keygen

然后关闭仿真器,然后重新启动。