Flutter集成Google Map遇JSNoSuchMethodError错误求助
Flutter集成Google Map报错JSNoSuchMethodError的解决方案
针对你遇到的TypeError: Cannot read properties of undefined (reading 'maps')错误,以下是具体排查和解决步骤:
1. 确认google_maps_flutter插件配置
在pubspec.yaml中确保正确引入插件,版本适配当前Flutter版本:
dependencies: google_maps_flutter: ^2.5.0 # 可根据Flutter版本调整为最新兼容版
执行flutter pub get更新依赖,避免因版本不匹配导致的加载问题。
2. 验证Android端API Key配置细节
即使已配置AndroidManifest.xml,仍需检查以下几点:
- 确保
<meta-data>标签放在<application>标签内部,name属性为com.google.android.geo.API_KEY:
<application ...> <meta-data android:name="com.google.android.geo.API_KEY" android:value="你的Google Maps API Key"/> ... </application>
- 登录Google Cloud控制台,确认你的API Key已启用Maps SDK for Android,且包名、SHA-1指纹等限制条件配置正确(若设置了限制)。
3. 清理项目缓存并重建
缓存可能导致配置未生效,执行以下命令重置项目:
flutter clean flutter pub get flutter run --debug
4. 检查GoogleMap组件初始化代码
确保home_page.dart中GoogleMap组件的初始配置有效,比如初始相机位置不能为null:
GoogleMap( initialCameraPosition: const CameraPosition( target: LatLng(37.7749, -122.4194), // 有效的经纬度 zoom: 12, ), onMapCreated: (GoogleMapController controller) { // 可选:保存控制器实例 }, )
5. 检查Google Cloud API配额与状态
- 确认Google Cloud项目中Maps SDK for Android的配额未耗尽;
- 确保API Key未被禁用,且项目已绑定有效的结算账号(免费配额有限,超出后会导致服务不可用)。
内容的提问来源于stack exchange,提问作者SI EN 14 Jonathan Wijaya
相关产品推荐
相关产品推荐

