HMS 地图工具包 - 问题渲染地图

HMS Map toolkit - issue rendering a Map

尝试将 HMS 地图添加到我的应用程序(GMS 正常工作)我遇到了渲染地图的问题。 地图片段仅加载可见区域的地图,移动地图或缩小它仅在灰色网格中可见。 (我尝试使用 activity 和华为官方 codlab 的代码对其进行测试 - 并且遇到了同样的问题) 我在华为开发者论坛(https://forums.developer.huawei.com/forumPortal/en/topic/0201611224212740063)找到了同样的案例,但是没有任何解决方案。

如果我使用带有位置和地址定义的片段,我什至可以获取地址 - 但可以看到地图。

错误日志:

2021-10-14 12:56:27.263 17509-17509/ru.my.app E/HmsMapKit_ContextDataInitializer_42: error occur when get support China flag from sdk through method reflection.

2021-10-14 12:56:28.214 17509-17660/ru.my.app E/HmsMapKit_AuthenticateClient_27: Exception occur
com.huawei.hms.maps.foundation.client.c: *1*0*2*:*I*L*G*L*F*N*E*P*I*T
    at com.huawei.hms.maps.foundation.client.c$a.b(Unknown Source:25)
    at com.huawei.hms.maps.foundation.client.b.a(Unknown Source:20)
    at com.huawei.hms.maps.foundation.client.b.c(Unknown Source:80)
    at com.huawei.hms.maps.foundation.client.b.a(Unknown Source:88)
    at com.huawei.hms.maps.foundation.client.b.a(Unknown Source:1)
    at com.huawei.hms.maps.maproute.client.auth.a.m(Unknown Source:2)
    at com.huawei.hms.maps.maproute.client.auth.a.lambdamAmyqJJeLxpXtGhAREgNcSN3PY(Unknown Source:0)
    at com.huawei.hms.maps.maproute.client.auth.-$$Lambda$amAmyqJJeLxpXtGhAREgNcSN3PY.call(Unknown Source:4)
    at com.huawei.hms.maps.foundation.client.b$a.a(Unknown Source:3)
    at com.huawei.hms.maps.maproute.client.auth.a.b(Unknown Source:27)
    at com.huawei.hms.maps.maproute.client.auth.a.a(Unknown Source:4)
    at com.huawei.hms.maps.maproute.cache.a$a.a(Unknown Source:17)
    at com.huawei.hms.maps.maproute.cache.a$a.call(Unknown Source:0)
    at oe.b(Unknown Source:17)
    at ml.a(Unknown Source:14)
    at oi$b.run(Unknown Source:6)
    at mo$a.run(Unknown Source:9)
    at ou.run(Unknown Source:13)
    at ou.call(Unknown Source:0)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:929)

2021-10-14 12:56:28.218 17509-17660/ru.my.app E/HmsMapKit_ErrorTraceLogPusher_4: cache error trace log : ErrorTraceLogDTO{ scenario = ACCESS_SERVICE_ERROR', message='010002 : ILLEGAL_FINGERPRINT'}
com.huawei.hms.maps.foundation.client.c: *1*0*2*:*I*L*G*L*F*N*E*P*I*T
    at com.huawei.hms.maps.foundation.client.c$a.b(Unknown Source:25)
    at com.huawei.hms.maps.foundation.client.b.a(Unknown Source:20)
    at com.huawei.hms.maps.foundation.client.b.c(Unknown Source:80)
    at com.huawei.hms.maps.foundation.client.b.a(Unknown Source:88)
    at com.huawei.hms.maps.foundation.client.b.a(Unknown Source:1)
    at com.huawei.hms.maps.maproute.client.auth.a.m(Unknown Source:2)
    at com.huawei.hms.maps.maproute.client.auth.a.lambdamAmyqJJeLxpXtGhAREgNcSN3PY(Unknown Source:0)
    at com.huawei.hms.maps.maproute.client.auth.-$$Lambda$amAmyqJJeLxpXtGhAREgNcSN3PY.call(Unknown Source:4)
    at com.huawei.hms.maps.foundation.client.b$a.a(Unknown Source:3)
    at com.huawei.hms.maps.maproute.client.auth.a.b(Unknown Source:27)
    at com.huawei.hms.maps.maproute.client.auth.a.a(Unknown Source:4)
    at com.huawei.hms.maps.maproute.cache.a$a.a(Unknown Source:17)
    at com.huawei.hms.maps.maproute.cache.a$a.call(Unknown Source:0)
    at oe.b(Unknown Source:17)
    at ml.a(Unknown Source:14)
    at oi$b.run(Unknown Source:6)
    at mo$a.run(Unknown Source:9)
    at ou.run(Unknown Source:13)
    at ou.call(Unknown Source:0)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)

2021-10-14 12:56:28.225 17509-17660/ru.my.app E/HmsMapKit_AuthenticateCache_163: other err occur,errorCode : .010002 : ILLEGAL_FINGERPRINT

2021-10-14 12:56:28.293 17509-17717/ru.my.app E/HmsMapKit_TileCache_38: startUrlRequest Identity fail, do not has permission get tile. authResult :010002

2021-10-14 12:56:28.380 17509-17509/ru.my.app E/HmsMapKit_TileCache_19:  tile parse callback , error report. status is 409
2021-10-14 12:56:28.381 17509-17509/ru.my.app E/HmsMapKit_ErrorTraceLogPusher_4: cache error trace log : ErrorTraceLogDTO{ scenario = RIEMANN_ENGINE_ERROR', message='map network request interrupt map network request interrupt'}

所以,我很确定:

我尝试清除应用程序和 HMS Core 的现金 - 没有任何变化。

最后一个问题是我不能在官方论坛上写问题,因为我的国家不支持。

根据以下日志:

other err occur,errorCode : .010002 : ILLEGAL_FINGERPRINT

可能的原因如下:

  • 您项目中的应用ID与AppGallery Connect中的不同
  • 未配置签名证书指纹。您需要生成签名证书指纹并在AppGallery Connect中配置。
  • 您的应用的AppGallery Connect配置文件未配置。您需要按照 Adding the AppGallery Connect Configuration File of Your App 中的说明进行配置。
  • API 密钥未使用编码进行转码。

详情请参考this Docs

还建议您使用配置向导完成环境配置,它会自动帮您添加指纹。你可以参考this Docs.