Stack Overflow 社区您好,
我正在开发一个与 Google 地图集成的 Flutter 应用程序。即使 API 命中显示在 Google Cloud Platform 控制台中(表明请求成功),我的地图也没有显示。
这是我迄今为止所做的工作的概要:
下面是我在 dart 中实现的核心代码片段:
class CirclesPage extends StatefulWidget {
const CirclesPage({Key? key}) : super(key: key);
@override
_CirclesPageState createState() => _CirclesPageState();
}
class _CirclesPageState extends State<CirclesPage> {
GoogleMapController? _controller;
LatLng currentLocation = LatLng(46.8182, 8.2275); // Default to Switzerland
@override
void initState() {
super.initState();
_determinePosition().then((_) => _goToCurrentLocation());
}
void _onMapCreated(GoogleMapController controller) {
_controller = controller;
_goToCurrentLocation();
}
Future<void> _goToCurrentLocation() async {
if (_controller == null) return;
_controller!.animateCamera(CameraUpdate.newLatLngZoom(currentLocation, 15.0));
}
Future<void> _determinePosition() async {
// Location service check and permission handling logic
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Maps Sample')),
body: GoogleMap(
onMapCreated: _onMapCreated,
myLocationEnabled: true,
initialCameraPosition: CameraPosition(
target: currentLocation,
zoom: 15.0,
),
),
);
}
}
日志确认调用了 initState、onMapCreated 和 build 函数,但应该显示地图的屏幕仍为空白。
对于我可能缺少的内容或下一步应该采取哪些步骤来解决此问题的任何建议或见解,我将不胜感激。
提前谢谢您!
更新1:我现在正在处理。我很可能在 SHA-1 密钥上犯了错误。我会处理这个问题,并在必要时删除该问题。
更新 2:不幸的是,SHA-1 密钥的更新尚未显示出任何积极的进展。 请求和地图显示唯一起作用的时候是我在终端中执行以下命令时:
flutter clean
flutter pub get
然后调用页面