首页 > 解决方案 > 华为mapStyle未正确应用

问题描述

我正在尝试为我的应用程序添加地图样式到华为地图。我从华为地图样式编辑器制作了一个样式的 JSON 文件,并通过 MapStyleOptions.loadRawResourceStyle 在 setMapStyle 方法中使用它并传递 JSON 文件。我使用了华为简单的地图并为其添加了一些自定义样式。当我第一次打开应用程序时,会加载默认地图(简单)并且不应用来自 JSON 的自定义样式,但是我返回上一个屏幕并再次启动地图屏幕,然后正确应用来自 JSON 的样式。首次启动如何解决问题?

标签: javaandroidhuawei-mobile-serviceshuawei-developershuawei-map-kit

解决方案


首先你可以按照这个开发文档的所有步骤:

setMapStyle方法通过MapStyleOptions.loadRawResourceStyle并传递 JSON 文件,这是加载本地地图。

要解决此问题需要更改云加载 mapstyle ,请参阅上述文档的第 5 步

创建地图后使用自定义样式调用HuaweiMap中的setStyleId和方法,使用自定义地图样式。previewId示例代码如下:

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);

在创建地图之前使用自定义样式调用styleIdpreviewId方法HuaweiMapOptions以使用自定义地图样式。如果两者styleIdpreviewId设置,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);

上面的使用方法会第一次改变云图。


推荐阅读