HarmonyOS 5 应用跳转 百度地图,高德地图,腾讯地图。

hm688c71e0ee284
发布于 2025-9-18 15:52
浏览
0收藏

1,先判断 手机有没有安装对应app

// 高德:link = "amapuri://com.amap.hmapp/open"

// 百度:link ="baidumap://map/"

// 腾讯:link = 'qqmap://map/'

///判断是否 装 app , 以高德地图为例  返回 true:有安装 ,false:未有安装 
async isAppInstalled() {
  let link = 'amapuri://com.amap.hmapp/open';
  try {
    let data: boolean = bundleManager.canOpenLink(link);
    return map_bean;
  } catch (err) {
    return false;
  }
}

 2,未安装的话可以 引导用户 跳转到 应用市场 安装

// 高德:bundleName = "com.amap.hmapp"

// 百度: bundleName = "com.baidu.hmmap"

// 腾讯:bundleName = "com.tencent.mapohos"

// 拉起应用市场对应的应用详情页面
 startAppGalleryDetailAbility(context: common.UIAbilityContext, bundleName: string): void {
  let want: Want = {
    action: 'ohos.want.action.appdetail', //隐式指定action
    uri: 'store://appgallery.huawei.com/app/detail?id=' + bundleName, //  bundleName为需要打开应用详情的应用包名
  };
  context.startAbility(want).then(() => {
  }).catch((error: BusinessError) =>

3,跳转到 地图app 规划路线

// 高德: gaode_want: Want = { uri: 'amapuri://route/plan?sid=BGVIS1&dlat='+lat+'&dname='+address+'&dlon='+lon+'&t=0&sourceApplication=applicationName' }

// 百度: baidu_want: Want = { uri: 'baidumap://map/direction?coord_type=gcj02&destination=name:'+address+' |latlng: '+lat+','+lon+' &mode=driving&src=andr.baidu.openAPIdemo' };

// 腾讯:tengxun_want: Want = { uri: 'qqmap://map/routeplan?type=drive&from=我的位置&fromcoord=0,0& to='+address+'&tocoord='+lat+','+lon+'&referer=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77' };

let want = { uri: 'amapuri://route/plan?sid=BGVIS1&dlat='+lat+'&dname='+address+'&dlon='+lon+'&t=0&sourceApplication=applicationName' };

// this.context:一般是在 Component 组件里调用 getContext(this) as common.UIAbilityContext 获取到的 UIAbilityContext
let uiAbilityContext = getContext(this) as common.UIAbilityContext;
uiAbilityContext.startAbility(want, (err: BusinessError) => {
  if (err.code) {
    // 处理业务逻辑错误
    console.error(`startAbility failed,code is ${err.code},message is ${err.message}`);
    return
  }
  console.info('startAbility succeed')
})

(小白学习,欢迎指导批评)

标签
收藏
回复
举报
回复
    相关推荐