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

Google Maps API 18.2:如何让绘制的图形重新显示在建筑前方?

Google Maps SDK 18.2.0 图形被遮挡问题解决

这是设计变更,不是Bug。Google在Play Services Maps 18.1.0版本的更新中调整了地图元素的绘制层级,把3D建筑、道路标签这类要素的层级拉高了,导致默认添加的自定义多边形、折线等图形被压在下方。

解决办法

方法一:自定义地图样式调整层级

创建map_style.json文件放在res/raw目录,将建筑和标签的层级调低:

[
  {
    "featureType": "administrative.building",
    "elementType": "geometry",
    "stylers": [
      { "zIndex": 0 }
    ]
  },
  {
    "featureType": "labels",
    "elementType": "all",
    "stylers": [
      { "zIndex": 0 }
    ]
  }
]

然后在代码中加载该样式,同时给自定义图形设置更高的z-index:

// 加载自定义地图样式
googleMap.setMapStyle(MapStyleOptions.loadRawResourceStyle(this, R.raw.map_style));
// 给多边形设置高优先级层级
polygon.setZIndex(10f);

方法二:用Marker自定义视图替代(适合简单图形)

如果你的图形结构简单,可以制作自定义Marker视图。Marker的默认层级高于建筑和标签,不会被遮挡,但这种方式不适用于复杂多边形场景。

方法三:尝试升级到最新版本

可以检查Play Services Maps的最新版本,看是否新增了恢复旧层级逻辑的配置选项,但截至目前,18.2.0之后的版本仍保持该设计,优先推荐方法一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 05:11:12