Flutter - Google 地图不显示
Flutter - Google map does not show
我知道之前有人提出过这个问题,但我无法解决...
我正在尝试在我的 flutter 应用程序中显示一个简单的 google 地图。
为此,我遵循了几个教程,例如 https://codelabs.developers.google.com/codelabs/google-maps-in-flutter/ or https://pub.dev/packages/google_maps_flutter
所以我的代码完全一样。尽管如此,我还是会告诉你:
首先,我激活了 Android 的 Maps SDK 和 iOS 的 Maps SDK。我可以在我的面板中看到它们已启用。
然后,我只需添加 api_key(我确定它已激活,因为我可以在 google 平台的 "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,
),
),
),
);
}
}
然后我 运行 我的应用程序......没有显示地图。
我可以看到应用栏,但在它下面,只有一个空白区域。
我什至没有显示 google 徽标,正如我在其他一些问题中看到的那样。
我尝试 运行 flutter clean
在构建我的应用程序之前,但它没有改变任何东西。
此外,我似乎看不到有关该应用程序的任何日志。
任何指示都会节省我的时间。
谢谢!
感谢@no_fate,我只需要升级 google 播放服务的版本。
如果您遇到我的情况,运行 在任何设备模拟器的最新版本上运行您的应用,看看问题是出自您的实际 phone 还是应用本身。
在我的情况下,我的关键是问题,我的 Android 地图 SDK 处于非活动状态。激活后,地图显示
激活前往google云平台->Google地图->Android
的地图SDK
我知道之前有人提出过这个问题,但我无法解决... 我正在尝试在我的 flutter 应用程序中显示一个简单的 google 地图。
为此,我遵循了几个教程,例如 https://codelabs.developers.google.com/codelabs/google-maps-in-flutter/ or https://pub.dev/packages/google_maps_flutter
所以我的代码完全一样。尽管如此,我还是会告诉你:
首先,我激活了 Android 的 Maps SDK 和 iOS 的 Maps SDK。我可以在我的面板中看到它们已启用。
然后,我只需添加 api_key(我确定它已激活,因为我可以在 google 平台的 "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,
),
),
),
);
}
}
然后我 运行 我的应用程序......没有显示地图。
我可以看到应用栏,但在它下面,只有一个空白区域。 我什至没有显示 google 徽标,正如我在其他一些问题中看到的那样。
我尝试 运行 flutter clean
在构建我的应用程序之前,但它没有改变任何东西。
此外,我似乎看不到有关该应用程序的任何日志。
任何指示都会节省我的时间。 谢谢!
感谢@no_fate,我只需要升级 google 播放服务的版本。
如果您遇到我的情况,运行 在任何设备模拟器的最新版本上运行您的应用,看看问题是出自您的实际 phone 还是应用本身。
在我的情况下,我的关键是问题,我的 Android 地图 SDK 处于非活动状态。激活后,地图显示
激活前往google云平台->Google地图->Android
的地图SDK