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

在Android用Mapbox SDK v10.12.2添加FillExtrusionLayer遇方法报错求助

问题解决:Mapbox Android 3D地图 addStyle 方法不存在错误
  • 核心问题:你调用的style.addStyle(fillExtrusionLayer)是错误写法,Mapbox的Style类中没有addStyle方法,添加3D建筑图层应该使用addLayer()方法。
  • 正确写法示例:
    // 在Style加载完成的回调中添加FillExtrusionLayer
    mapView.getMapboxMap().loadStyleUri(Style.MAPBOX_STREETS, style -> {
        FillExtrusionLayer extrusionLayer = new FillExtrusionLayer("3d-buildings-layer", "composite")
                .setSourceLayer("building")
                .setFilter(Filter.eq("extrude", "true"))
                .setProperty(FillExtrusionProperties.FILL_EXTRUSION_COLOR, "#888888")
                .setProperty(FillExtrusionProperties.FILL_EXTRUSION_HEIGHT, Expression.get("height"))
                .setProperty(FillExtrusionProperties.FILL_EXTRUSION_BASE, Expression.get("min_height"))
                .setProperty(FillExtrusionProperties.FILL_EXTRUSION_OPACITY, 0.7f);
        
        style.addLayer(extrusionLayer);
    });
    
  • 额外排查要点:
    • 确认Mapbox SDK依赖版本与官方示例匹配,低版本SDK可能存在API差异,建议使用最新稳定版。
    • 检查FillExtrusionLayer的导入路径是否正确,应为com.mapbox.maps.extension.style.layers.generated.FillExtrusionLayer。
    • 必须在Style加载完成的回调内操作图层,避免因Style未初始化导致的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:22:01