我正在尝试为我的应用程序添加 map 样式到华为 map 。我从华为 map 样式编辑器制作了一个样式的 JSON 文件,并通过 MapStyleOptions.loadRawResourceStyle 在 setMapStyle 方法中使用它并传递 JSON 文件。我使用了华为简单的 map 并为其添加了一些自定义样式。当我第一次打开应用程序时,会加载默认 map (简单)并且不应用来自 JSON 的自定义样式,但我返回上一个屏幕并再次启动 map 屏幕,然后正确应用来自 JSON 的样式。首次启动如何解决问题?
最佳答案
首先你可以关注this development documents所有步骤:setMapStyle
方法MapStyleOptions.loadRawResourceStyle
并传递 JSON 文件,这是加载本地 map 。
要解决此问题需要更改云加载 mapstyle ,请参阅上述文档的第 5 步:
创建 map 后使用自定义样式
调用setStyleId
和 previewId
HuaweiMap 中的方法来使用自定义 map 样式。
示例代码如下:
HuaweiMap hMap;
// Specify a style ID after a map is created.
hMap.setStyleId(String styleId);
// Specify a preview ID after a map is created.
hMap.previewId(String previewId);
在创建 map 之前使用自定义样式调用
styleId
和 previewId
HuaweiMapOptions
中的方法使用自定义 map 样式。如果两者都是 styleId
和 previewId
已设置,styleId
优先。示例代码如下:
HuaweiMapOptions huaweiMapOptions;
// Specify a style ID before a map is created.
huaweiMapOptions.styleId(String styleId);
// Specify a preview ID before a map is created.
huaweiMapOptions.previewId(String previewId);
上面的使用方法会第一次改变云图。
关于java - 华为mapStyle未正确应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68906169/