Flutter App 中的 Google 地图未显示

Posted

技术标签:

【中文标题】Flutter App 中的 Google 地图未显示【英文标题】:Google Map in Flutter App is not showing up 【发布时间】:2020-04-10 11:39:13 【问题描述】:

在我的 Flutter 应用程序中集成一个简单的 GoogleMap 时遇到问题。 我在我的清单文件中正确插入了 API 密钥,并将库插入到应用程序中。 但是模拟器只是显示一个空白页。到目前为止,我没有做任何特别的事情;只是想创建一个 GoogleMap。

这是我在应用程序中使用的代码:

return Stack(
 children: <Widget>[
   GoogleMap(initialCameraPosition: CameraPosition(target:
   LatLng(-33.870840,151.206286),
   zoom: 12)
   )
 ], );

模拟器显示的内容:

控制台的第一行(我认为有特殊含义):

E/flutter (5736): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] 未处理异常:PlatformException(error, java.lang.IllegalStateException: Trying to create a platform view of unregistered type: plugins .flutter.io/google_maps

我尝试了几种解决方法,但最终出现了更多错误。期待您的回答!

【问题讨论】:

【参考方案1】:

我尝试在一个新项目中添加Google Map,并且能够在模拟器上成功看到它。我一步一步地按照this 文章并使用您的代码 sn-p 显示地图并且它有效。

使用的完整代码:

import 'dart:async';

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> 
  Completer<GoogleMapController> _controller = Completer();

  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Maps Sample App'),
          backgroundColor: Colors.green[700],
        ),
        body: Stack(
      children: <Widget>[
      GoogleMap(initialCameraPosition: CameraPosition(target:
      LatLng(-33.870840,151.206286),
        zoom: 12)
    )
    ],
        )
      ),
    );
  

注意几点:

    当您为其生成密钥时,请仔细检查该 api 是否已启用(android 版 Maps SDK)。 在您交叉检查以确认您拥有最新的依赖项后,请执行 flutter clean

希望这会有所帮助。

【讨论】:

谢谢您,它现在可以工作了!不完全知道出了什么问题,但我认为这是因为我没有在我的 pubspec 文件中写下软件包版本的整数(只有 0.5.21 而不是 0.5.21+15)。还使用了 Flutter Clean,所以也许这对我有帮助。

以上是关于Flutter App 中的 Google 地图未显示的主要内容,如果未能解决你的问题,请参考以下文章