android - json地图样式解析在android中失败
问题描述
我想创建一个 JSON 文件来设置我的谷歌地图的样式,但我收到以下消息:E/Google Maps Android API:地图样式解析失败:org.json.JSONException:java.lang.String 类型的值 res 无法转换为 JSONArray E/MapsActivityRaw:样式解析失败。有什么帮助吗? 这是我的代码示例,其中我有创建 JSON 的方法,在左侧您可以看到 JSON 文件所在的原始包
我使用了谷歌平台 mapstyle.withgoogle.com。但我不确定的是,我创建了一个文本文档,然后将结尾更改为 .json,从谷歌平台复制 JSON 代码并将其放在那里,然后复制文件并将其放入 android studio。因为我不知道如何在 android studio 中创建 JSON 文件。我不知道这听起来是否正确?
解决方案
在我之前留下的评论中,是因为我没有解决方案,但是在仔细查看google文档时,我意识到有两种类型的代码可以实现样式,一种是JSON文件,另一种是字符串
对于您在图像中显示的代码,它必须具有 style_gray 字符串资源,对于这种情况,我假设您将在 string.xml 中有一个 xml 文件或该变量,您可以使用相同的代码,如下所示:
googleMap.setMapStyle(new MapStyleOptions(getResources().getString(R.raw.map_style_aubergine)));
要解决该错误,您必须实现此其他代码,如果它与https://mapstyle.withgoogle.com/生成的格式的 JSON 文件兼容,则代码如下:
googleMap.setMapStyle(MapStyleOptions.loadRawResourceStyle(this,R.raw.map_style_aubergine));
在我的情况下,map_style_aubergine
是 JSON 文件和 string.xml 中的一个变量,您可以将此作为示例并在您的代码中进行相应的更正
推荐阅读
- excel - 将多个工作簿中的数据合并到一个工作表中
- excel - 如何在特定文本之后和数字之前删除,然后使用 VBA 删除重复项?
- c++ - CString 回文测试
- xamarin - 使用 rg.plugin.popup 的按钮命令未找到绑定的 ViewModel
- html - 使用 CSS 访问网页的背景
- react-native - 更新到 React Native 0.61.3 后排毒选择器失败
- conditional-statements - 是否有等效于 c# 的 .All 的 javascript?
- react-native - 如何修复自定义反应导航组件中的“navigation.state 未定义”?
- jquery - 只调用一次 'require("jquery")'
- python-3.x - 按数据框分组并查找组