HarmonyOS 鸿蒙Next 引用地图MapComponent组件,地图没有展示出来

HarmonyOS 鸿蒙Next 引用地图MapComponent组件,地图没有展示出来

我在组件中,直接引入了官方这段代码,但是页面上没有任何效果,空白的,也没有报错

import { MapComponent, mapCommon, map } from '@kit.MapKit';
import { AsyncCallback } from '@ohos.base';

@Entry
@Component
struct HuaweiMapDemo {
  private TAG = "HuaweiMapDemo";
  private mapOption?: mapCommon.MapOptions;
  private callback?: AsyncCallback<map.MapComponentController>;
  private mapController?: map.MapComponentController;

  aboutToAppear(): void {
    // 地图初始化参数,设置地图中心点坐标及层级
    this.mapOption = {
      position: {
        target: {
          latitude: 39.9,
          longitude: 116.4
        },
        zoom: 10
      }
    };

    // 地图初始化的回调
    this.callback = async (err, mapController) => {
      if (!err) {
        // 获取地图的控制器类,用来操作地图
        this.mapController = mapController;
        this.mapController.on("mapLoad", () => {
          console.info(this.TAG, `on-mapLoad`);
        });
      }
    };
  }

  build() {
    Stack() {
      // 调用MapComponent组件初始化地图
      MapComponent({ mapOptions: this.mapOption, mapCallback: this.callback }).width('100%').height('100%');
    }.height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next 引用地图MapComponent组件,地图没有展示出来的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

1、地图服务需要开通AGC,配置Client ID,可以参考以下文档
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/appgallery-connect-0000001751989088
2、检查一下module.json里面有没有做以下配置:、

"metadata": [
      // 配置如下信息
      {
        "name": "client_id",
        "value": "110799233"
      },
    ],
    "requestPermissions":[
      {
        "name" : "ohos.permission.INTERNET",
      },
      {
        "name": "ohos.permission.LOCATION",
        "reason": "$string:EntryAbility_desc",
        "usedScene": {
          "abilities": [
            "EntryAbility"
          ],
          "when": "always"
        }
      },
      {
        "name": "ohos.permission.APPROXIMATELY_LOCATION",
        "reason": "$string:EntryAbility_desc",
        "usedScene": {
          "abilities": [
            "EntryAbility"
          ],
          "when": "always"
        }
      }
    ],

更多关于HarmonyOS 鸿蒙Next 引用地图MapComponent组件,地图没有展示出来的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS 鸿蒙Next 引用地图MapComponent组件但地图没有展示出来的问题,以下是一些可能的解决方案:

  1. 检查配置

    • 确保在AppGallery Connect(AGC)中已经开启了地图服务开关,并检查ClientID、签名和地图API是否已正确配置。
    • 检查module.json5文件中metadata节点下的clientid是否写正确,需要直接写client_id的信息,不能通过$符引用资源文件中的值。
  2. 检查签名证书

    • 确保当前的签名证书指纹是手动签名的,且与AGC上配置的证书指纹一致。
    • 签名证书配置方式需选择“SHA256公钥指纹”。
  3. 检查权限

    • 确保应用已授予必要的权限,包括网络权限和定位权限。
  4. 检查组件参数

    • 确认地图组件的初始化参数是否正确,包括中心点坐标、缩放层级等。
  5. 使用真机测试

    • 由于模拟器可能不支持所有华为服务API,包括地图服务,建议使用真机进行测试。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部