You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成Google Maps包时出现Invalid constant value错误如何修复

修复google_maps_flutter中「Invalid constant value」错误

在使用Flutter的google_maps_flutter包开发地图页面时,代码中onMapCreated: (controller) => _googleMapController = controller,一行出现「Invalid constant value」错误,运行官方示例代码也遇到相同问题。

错误原因与修复方案

错误根源在于你给Scaffold和GoogleMap添加了const修饰符,但onMapCreated的回调需要修改状态类中的_googleMapController变量,属于非常量操作,无法在const组件中执行。

只需移除Scaffold和GoogleMap前的const关键字即可修复:

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

class MapScreen extends StatefulWidget {
  @override
  State<MapScreen> createState() => _MapScreenState();
}

class _MapScreenState extends State<MapScreen> {
  static const _initialCameraPosition = CameraPosition(
    target: LatLng(36.71228369662267, 3.1805848553156153),
    zoom: 16.5,
  );

  GoogleMapController? _googleMapController;

  @override
  void dispose() {
    _googleMapController?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: GoogleMap(
        myLocationButtonEnabled: false,
        zoomControlsEnabled: false,
        initialCameraPosition: _initialCameraPosition,
        onMapCreated: (controller) => _googleMapController = controller,
      ),
    );
  }
}

内容的提问来源于stack exchange,提问作者ELMEHDAOUI Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 08:32:44