为谷歌地图动态创建/下载样式



对于Android版的谷歌地图,我有一个带有地图样式的RAW JSON文件。

我是否可以在应用程序运行时动态下载JSON并使用它?

mMap = googleMap
mMap.setMapStyle(
MapStyleOptions.loadRawResourceStyle(
this, R.raw.mapstyle1
)
)

我无法动态创建RAW文件

但我也不能替换JSON文件,因为设置只能通过RAW 中的resourceId获得样式

有办法做到这一点吗?

使用公共构造函数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));
...

相关内容

  • 没有找到相关文章

最新更新