华为地图无法加载图块

e.y*_*y66 6 android android-studio huawei-mobile-services huawei-developers huawei-map-kit

我已遵循此处此处的文档(非常简单),但地图视图不会加载任何图块。

我使用HMS Toolkit,配置向导成功。我还设置了我的 api 密钥,在我的应用程序类和活动类 onCreate 中都使用了这一行。

MapsInitializer.setApiKey(HUAWEI_API_KEY);

以下是设备信息和SDK版本:

  • 手机型号:华为 Y7 Prime 2018
  • EMUI版本:8.0.0
  • HMS核心版本:6.1.0.305
  • 地图SDK版本:com.huawei.hms:maps:6.0.0.301

这是屏幕:

在此输入图像描述

相关错误日志:

E/HmsMapKit_MapView_151:createDelegate:创建者== null

E/HmsMapKit_GrsClient_24:GRS 返回空。

E/HmsMapKit_ErrorTraceLogPusher_4:缓存错误跟踪日志:ErrorTraceLogDTO{ scene = GET_GRS_URL_FAILED', message='GRS 返回空,服务名称为 com.huawei.hms.map。'}

E/HmsMapKit_ErrorTraceLogPusher_12:eventId 为 null 或为空。

E/HmsMapKit_AuthenticateClient_27:com.huawei.hms.maps.foundation.client.c发生异常

E/HmsMapKit_ErrorTraceLogPusher_4:缓存错误跟踪日志:ErrorTraceLogDTO{场景= ACCESS_SERVICE_ERROR',消息='060001:NETWORK_ERROR'}

E/HmsMapKit_AuthenticateCache_0:认证错误,抛出RetryException。

E/HmsMapKit_CopyrightDelegate_27:获取版权声明html数据失败:htmlData = null

E/HmsMapKit_TileCache_38:startUrlRequest身份失败,没有权限获取图块。授权结果:060011

PS:我在这个演示中遇到了完全相同的问题。

zha*_*hen 2

首先你可以参考这个文档看看是否有错误代码。

官方的demo也运行不正确。因此该问题很有可能是由签名或API密钥问题引起的。

请检查如下:

  • 检查AppGallery Connect中是否开启Map Kit API。如果没有,请启用它,下载.json文件替换代码中现有的文件,然后检查SHA256指纹是否正确。

  • 在 Android 版 Map SDK 5.0.0.300 或更高版本中,您必须在初始化地图之前设置 API 密钥。

(1) 在项目的入口类中设置API key。

   // In the entrance class (inherited from android.app.Application) of the app,
    // call the setApiKey method in the overridden onCreate() method. 
    public class MyApp extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
           // Set the API key.
            MapsInitializer.setApiKey("Your API Key");
        }
    }
Run Code Online (Sandbox Code Playgroud)

(2) 在Fragment或MapView中设置API key。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        Log.i(TAG, "onCreate: ");
        super.onCreate(savedInstanceState);
        // Set the API key before calling setContentView.
        MapsInitializer.setApiKey("Your API Key");
        setContentView(R.layout.basic_demo);
Run Code Online (Sandbox Code Playgroud)

有关此问题的不同原因的详细信息,您也可以参考这个答案