json地图样式解析在android中失败
Posted
技术标签:
【中文标题】json地图样式解析在android中失败【英文标题】:json map style parsing failed in android 【发布时间】:2020-08-14 22:40:30 【问题描述】:我想创建一个 JSON 文件来设置我的 google 地图的样式,但我收到以下消息:E/Google Maps android API: Map style parsing failed: org.json.JSONException: Value res of type java.lang.String cannot be转换为 JSONArray E/MapsActivityRaw:样式解析失败。有什么帮助吗? Here is my code example where I have the method with JSON creation and on left side you see the raw package where the JSON file
Here is the error that I get
我使用了 Google 平台 mapstyle.withgoogle.com。但我不确定的是,我创建了一个文本文档,然后将结尾更改为 .json,从谷歌平台复制 JSON 代码并将其放在那里,然后复制文件并将其放入 android studio。因为我不知道如何在 android studio 中创建 JSON 文件。我不知道这听起来是否正确?
【问题讨论】:
您是手动创建 JSON 还是使用 mapstyle.withgoogle.com ? 我正在使用这个 mapstyle.withgoogle.com。但我不确定的是,我创建了一个文本文档,然后将结尾更改为 .json,从谷歌平台复制 JOSN 代码并将其放在那里,然后复制文件并将其放入 android studio。因为我不知道如何在 android studio 中创建 JSON 文件。我不知道这听起来是否正确? 我有同样的问题,我的步骤和你一样,到今天你能解决吗?如何解决? 【参考方案1】:在我离开你之前的评论中,是因为我没有解决方案,但是在仔细查看谷歌文档时,我意识到有两种类型的代码可以实现样式,一种是 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 中的一个变量,您可以将此作为示例并在代码中进行相应的更正
【讨论】:
以上是关于json地图样式解析在android中失败的主要内容,如果未能解决你的问题,请参考以下文章