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

Flutter中如何修改Google Maps定位图标并移除定位精度蓝色阴影

Flutter Google Maps 定位图标自定义及精度阴影移除方案

你观察到的蓝色外圈为定位精度范围标识,代表当前定位结果的可信区域,定位精度越低该区域半径越大。针对你的两个需求可参考以下方案实现:

移除蓝色精度阴影

  • 通用跨平台方案:直接关闭官方默认定位图层,自行绘制定位标记即可完全消除精度阴影,无需额外编写原生端代码:
    将GoogleMap组件的myLocationEnabled参数设置为false,关闭自带的定位UI展示
    配合geolocator等定位库实时监听设备位置,在地图的markers属性中添加自定义Marker代替默认定位图标,默认生成的精度圈会同步消失
  • 若不想自定义定位图标,可修改原生端配置单独隐藏精度圈:
    Android端:在GoogleMap实例中自定义MyLocationStyle,将精度圈的描边宽度设为0、填充色设为透明即可
    iOS端:对GMSMapView实例的myLocationAccuracyCircle属性设置hidden = YES即可

自定义定位图标

  • 采用上述关闭默认定位图层自行绘制Marker的方案即可实现完全自定义,步骤如下:
    1. 提前准备自定义定位图标资源,在pubspec.yaml中完成资源路径声明
    2. 初始化阶段将资源图片转换为BitmapDescriptor对象:
    final customLocIcon = await BitmapDescriptor.fromAssetImage(
      const ImageConfiguration(size: Size(48, 48)), 
      'assets/imgs/custom_location.png'
    );
    
    1. 每次获取到最新定位坐标后,创建Marker实例并将上述customLocIcon赋值给icon属性,添加到地图的Markers列表中即可展示自定义定位图标

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:24:04