我正在使用Mapbox开发一个Android应用。我正在尝试解析GeoJSON文件以进行3D拉伸并将其显示在地图上。
它是这样的:
GeoJsonSource roomDataSource = new GeoJsonSource("room-data",loadJsonFromAsset("file.geojson"));
map.addSource(roomDataSource);
FillExtrusionLayer roomExtrusionLayer = new FillExtrusionLayer("room-extrusion", "room-data");
roomExtrusionLayer.setProperties(
fillExtrusionHeight(get("fillColor", get("style"))),
fillExtrusionHeight(1.f),
fillExtrusionBase(0.f),
fillExtrusionOpacity(0.5f)
);
我的geojson的一部分是:
"properties":{
/*...*/
"floor":-1,
"isPublished":true,
"style":{
"markerUrl":"",
"strokeColor":"#3527cf",
"strokeOpacity":1,
"strokeWidth":3,
"fillColor":"orange",
"fillOpacity":0.5,
"labelBackgroundColor":"",
"labelBackgroundOpacity":""
},
}, /*...*/
我希望挤出的块具有style.fillColor中指定的颜色。从get(String, Expression)
方法的文档来看,这似乎是我所需要的,但是显然它不起作用,因为该块仍然是灰色的。
所以问题是,这是正确的方法吗?如果没有,有什么办法可以对嵌套参数进行操作? (我希望保留嵌套的style
属性结构)