对于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));
...