1

我知道这个问题之前已经提出过,但我无法让它工作......我正在尝试在我的颤振应用程序中显示一个简单的谷歌地图。

为此,我遵循了几个教程,例如https://codelabs.developers.google.com/codelabs/google-maps-in-flutter/https://pub.dev/packages/google_maps_flutter

所以我的代码是完全一样的。尽管如此,我会告诉你:

首先,我激活了 Maps SDK for Android 和 Maps SDK for iOS。我可以在我的面板中看到它们已启用。

在此处输入图像描述

然后,我只需添加 api_key(我确定它已激活,因为我可以在谷歌平台的“Maps SDK for Android”的凭据选项卡中看到它)

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.google_maps_in_flutter">
<application
    android:name="io.flutter.app.FlutterApplication"
    android:label="google_maps_in_flutter"
    android:icon="@mipmap/ic_launcher">

    <meta-data android:name="com.google.android.geo.API_KEY"
        android:value="AIzaSyD6o4Kh7hRA09LdFFnxxxxxxxx"/>

    <activity
        android:name=".MainActivity"
        android:launchMode="singleTop"
        ...

我为 iOS 做了同样的事情。

依赖项添加到 pubspec.yaml 中,如下所示:

dependencies:
  flutter:
    sdk: flutter
  google_maps_flutter: ^0.5.11
  cupertino_icons: ^0.1.2

我还尝试了 google_map_flutter 的最新版本(0.5.21+15),并没有改变任何东西。

就是这样,main.dart 和教程一模一样:

import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  GoogleMapController mapController;

  final LatLng _center = const LatLng(45.521563, -122.677433);

  void _onMapCreated(GoogleMapController controller) {
    mapController = controller;
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Maps Sample App'),
          backgroundColor: Colors.green[700],
        ),
        body: GoogleMap(
          onMapCreated: _onMapCreated,
          initialCameraPosition: CameraPosition(
            target: _center,
            zoom: 11.0,
          ),
        ),
      ),
    );
  }
}

然后我运行我的应用程序并且......没有显示地图。

我可以看到应用栏,但在其下方,只是一个空白区域。正如我在其他一些问题中看到的那样,我什至没有显示谷歌徽标。

我尝试flutter clean在重新构建我的应用程序之前运行,但它并没有改变任何东西。

此外,我似乎看不到有关该应用程序的任何日志。

任何指针都会节省我的时间。谢谢!

4

2 回答 2

1

感谢@no_fate,我只需要升级我的谷歌播放服务版本。

如果您处于我的情况,请在任何设备模拟器的最新版本上运行您的应用程序,以查看问题是来自您的实际手机还是应用程序本身。

于 2019-12-10T16:27:19.950 回答
0

在我的情况下,我的关键是问题,我的 Android 地图 SDK 处于非活动状态。当它被激活时,地图显示

激活转到谷歌云平台 -> 谷歌地图 -> Android 地图 SDK

于 2020-04-08T08:39:25.000 回答