为谷歌地图动态创建/下载样式
Posted
技术标签:
【中文标题】为谷歌地图动态创建/下载样式【英文标题】:Dynamically create/download style for Google Maps 【发布时间】:2021-09-27 01:04:40 【问题描述】:对于 android 版 Google 地图,我有一个带有地图样式的 RAW 格式的 JSON 文件。
我是否可以在应用程序运行时动态下载 JSON 并使用它?
mMap = googleMap
mMap.setMapStyle(
MapStyleOptions.loadRawResourceStyle(
this, R.raw.mapstyle1
)
)
我无法动态创建 RAW 文件
但我也无法替换 JSON 文件,因为设置只能通过 RAW 中的 resourceId 获取样式
有没有办法做到这一点?
【问题讨论】:
【参考方案1】:使用公共构造函数MapStyleOptions(String json)
而不是结构loadRawResourceStyle(Context clientContext, int resourceId)
方法。类似的东西:
...
StringBuilder mapStyleStringBuilder = new StringBuilder();
// create you map style JSON
mapStyleStringBuilder.append("[");
mapStyleStringBuilder.append(" "featureType": "all", "elementType": "geometry", "stylers": [ "color": "#242f3e" ] ,");
mapStyleStringBuilder.append("]");
// convert it to String
String dynamicallyCreatedStyleJson = mapStyleStringBuilder.toString()
// and apply to map
mMap.setMapStyle(new MapStyleOptions(dynamicallyCreatedStyleJson));
...
【讨论】:
以上是关于为谷歌地图动态创建/下载样式的主要内容,如果未能解决你的问题,请参考以下文章