我正在尝试按照本教程“ https://medium.com/flutter-io/google-maps-and-flutter-cfb330f9a245”的方式在Google控件中添加Google Map。 我用谷歌地图键更新了Android清单,并添加了访问fine_location的权限。我的模拟器上没有显示白色屏幕。 我花了很多时间试图修复它,但徒劳无功。我还尝试通过插件“ https://pub.dartlang.org/packages/google_maps_flutter#-readme-tab-”使用示例,但是显示map并没有帮助。谢谢您的任何帮助
答案 0 :(得分:4)
答案 1 :(得分:2)
创建API后,应为您的项目启用Android SDK和IOS SDK。完成之后,转到API限制并选择这两个。请查看以下图片:
您完成了!您现在需要做的就是复制API密钥并将其添加到您的AndroidManifest文件中。另外请记住,您实际上不需要添加一个计费帐户即可运行。 希望这对您有用!
答案 2 :(得分:1)
好吧,在AndroidManifest.xml
文件中添加它的API密钥
添加
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="YOUR_API_KEY"/>
在</activity>
和</application>
之间。
flutter clean
。 答案 3 :(得分:1)
我也遇到了这个问题,Android 没有谷歌地图显示。我的 API 密钥位于 Activity 标签之间。
带有您的 API 密钥的元数据标记需要是应用程序标记的子项。把它放在结束 Application 标签之前。
在再次运行您的应用之前,不要忘记运行 Flutter clean。
答案 4 :(得分:0)
由于 IP ADDRESS ALLOWANCE
设置,我遇到了这个问题并解决了它!如果您尝试过上述解决方案并且没有像我的情况那样工作。检查您的 IP 地址是否已更改或使用不同的 IP 地址。我忘记了我在外面,因此谷歌地图没有加载。
答案 5 :(得分:0)
实际上,通过上述教程中的问题搜索,我没有找到任何答案。我找到了另一种地图绘制方法,并且可以与我一起正常使用,因此我将其发布,因为它可能会帮助其他人。 您需要将其添加到pubspec.yaml中以获取插件。 2-添加Android和Ios的密钥 3-将此代码添加到main中。
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 myMapController;
final Set<Marker> _markers = new Set();
static const LatLng _mainLocation = const LatLng(25.69893, 32.6421);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Maps With Marker'),
backgroundColor: Colors.blue[900],
),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
child: GoogleMap(
initialCameraPosition: CameraPosition(
target: _mainLocation,
zoom: 10.0,
),
markers: this.myMarker(),
mapType: MapType.normal,
onMapCreated: (controller) {
setState(() {
myMapController = controller;
});
},
),
),
],
)));
}
Set<Marker> myMarker() {
setState(() {
_markers.add(Marker(
// This marker id can be anything that uniquely identifies each marker.
markerId: MarkerId(_mainLocation.toString()),
position: _mainLocation,
infoWindow: InfoWindow(
title: 'Historical City',
snippet: '5 Star Rating',
),
icon: BitmapDescriptor.defaultMarker,
));
});
return _markers;
}
}
答案 6 :(得分:0)
搜索解决方案 1 天后,我发现我写错了 api 密钥。 所以在构建 apk 之前仔细检查你的 api 密钥;
我已将我的 android api 密钥放在 ios 中。
答案 7 :(得分:0)
执行以下简单步骤:(这对我有用)
答案 8 :(得分:0)
我按照文档做了所有正确的事情,但我仍然面临同样的问题。问题是我的模拟器不支持 Play 商店。所以我所做的是卸载旧的模拟器并安装支持Play商店的最新模拟器。它对我有用。
答案 9 :(得分:0)
在“摘要”中尝试了以上所有内容之后:
地图仍然显示为灰色。
我的解决方案
从设备(手机或仿真器)上卸载应用程序,然后重新编译。
新安装会正确显示地图
答案 10 :(得分:0)
确保此处的密钥与地图显示中使用的API密钥相同: 或使用正确的API_KEY将这个元标记添加到清单文件中
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="API_KEY"/>
答案 11 :(得分:0)
我按照flutter插件页面上的说明开始使用地图: https://codelabs.developers.google.com/codelabs/google-maps-in-flutter/#1
https://pub.dev/packages/google_maps_flutter#usage
我面临的问题: (仅适用于已限制api键以接受来自ios中特定包标识符的请求的人)
我遇到的问题是,我有一个空白的灰色框而不是地图。
原来的问题是我已限制我的api密钥来限制请求: “接受来自具有这些捆绑包标识符之一的iOS应用程序的请求。”
我更改了捆绑包标识符。我要做的就是将捆绑包标识符添加到允许的标识符列表中。然后地图重新出现。
您可以通过在应用程序代码中全局搜索“ PRODUCT_BUNDLE_IDENTIFIER =“来找到ios包标识符。
您可以通过以下方式进入api键编辑页面:
答案 12 :(得分:0)
Flutter 1.7.5 +,Dart 2.8.5 +
我已经尝试了一切,但是仍然无法在iOS上正常工作,我检查了权限,等等都还不错,但显然,此问题与网络视图“ io.flutter.embedded_views_preview”有关。设置此info.plist文件后,即可正常工作。
<key>io.flutter.embedded_views_preview</key><true/>
答案 13 :(得分:0)
我也遇到了错误或黑屏的情况,因此,我的解决方案是在Google Cloud Platform上启用Android或IOS的Maps SDK。启用SDK之后,您的应用肯定会在一分钟内显示地图。
答案 14 :(得分:0)
尝试在任何移动设备而不是模拟器上运行应用程序。我遇到了同样的问题,但是当我尝试在移动设备上运行应用程序时,它对我有用。否则,您应该在GCP控制台中检查是否已为IOS启用maps SDK。
答案 15 :(得分:0)
在我的调试电话上出现了相同的问题。事实证明,将其连接到Internet上很有帮助;)(没有注意到Wi-Fi已关闭)
答案 16 :(得分:0)
转到Google云控制台,并将您的APIKey切换为已启用,它将起作用, 我也遇到了同样的问题和该应用程序(我将其安装在android物理设备上,但无法正常工作,并在左下角以jsut的形式显示jsut,
此后,我意识到我应该启用APIKey而不是jsut生成它并将其包含在我的应用程序中,当我这样做时,该应用程序运行良好,地图出现并且问题已解决
答案 17 :(得分:0)
可能您没有在Google Cloud Console中启用针对Android和IOS的Google Map服务和Map SDK。 试试这个链接https://console.cloud.google.com/google/maps-apis/overview
答案 18 :(得分:-1)
当我遇到这个问题时,有两个可能的问题。
确保已在api控制台“ https://console.cloud.google.com/google/maps-apis/ ..............”中启用了“ iOS版Maps SDK”