uni-app APP打开手机外面的高德地图APP

4 阅读1分钟

记录一下,在开发APP功能唤醒APP外部的高德地图APP,并且把数据回显上去,包括了安卓和ios写法

const app = getApp()

/**
 * 打开高德地图
 * @param {*} latitude // 纬度
 * @param {*} longitude // 经度
 * @param {*} address // 详细地址
 */
export const openAmap = (latitude, longitude, address) => {
  if (plus.os.name === 'Android') {
    // Android高德地图uri
    let url = `amapuri://route/plan/?dlat=${latitude}&dlon=${longitude}&dname=${address}&dev=0&t=0`
    
    plus.runtime.openURL(url, (err) => {
      console.log("🚀 ~ Android plus.runtime.openURL ~ err:", err)
      uni.showModal({
        title: app.globalData.$lang('common.Tips'),
        content: app.globalData.$lang('common.setupAmap'),
        confirmText: app.globalData.$lang('common.setupBtnText'),
        cancelText: app.globalData.$lang('common.cancelBtnText'),
        success: (res) => {
          if (res.confirm) {
            // 跳转到应用商店
            plus.runtime.openURL('market://details?id=com.autonavi.minimap');
          }
        }
      });
    });
  } else {
    // iOS高德地图uri
    let url = `iosamap://path?sourceApplication=applicationName&dlat=${latitude}&dlon=${longitude}&dname=${address}&dev=0&t=0`

    plus.runtime.launchApplication({ action: url }, (err) => {
      console.error("🚀 ~ IOS plus.runtime.launchApplication ~ err:", err)
      uni.showModal({
        title: app.globalData.$lang('common.Tips'),
        content: app.globalData.$lang('common.setupAmap'),
        confirmText: app.globalData.$lang('common.setupBtnText'),
        cancelText: app.globalData.$lang('common.cancelBtnText'),
        success: (res) => {
          if (res.confirm) {
            // 跳转到App Store
            plus.runtime.openURL('itms-apps://itunes.apple.com/app/id467051568');
          }
        }
      });
    });
  }
}