H5直接唤起高德地图导航APP和唤起百度地图导航APP

1.百度地图官方文档:地图调起API | 百度地图API SDK

2.高德地图官方文档: 路径规划-Android-开发指南-高德地图手机版 | 高德地图API

if (val.name == '高德') {

        // 手机获取的是百度坐标,百度坐标转高德

        let lng = bd09togcj02(this.lng, this.lat)[0]

        let lat = bd09togcj02(this.lng, this.lat)[1]

        // 工单返回的终点经纬度是GPS的,即WGS84的坐标,所以需要转成高德的

        let lngEnd = wgs84togcj02(this.currentData.longitude, this.currentData.latitude)[0]

        let latEnd = wgs84togcj02(this.currentData.longitude, this.currentData.latitude)[1]

        // 直接唤起高德APP

        window.location.href = `amapuri://route/plan/?sourceApplication=amap&sid=&slat=${lat}&slon=${lng}&sname=当前位置&did=&dlat=${latEnd}&dlon=${lngEnd}&dname=目的地&dev=0&t=0`

        //判断是否跳转

        // setTimeout(function () {

        //   let hidden =

        //     window.document.hidden ||

        //     window.document.mozHidden ||

        //     window.document.msHidden ||

        //     window.document.webkitHidden

        //   if (typeof hidden == 'undefined' || hidden == false) {

        //     //调用高德地图

        //     window.location.href = 'https://uri.amap.com/marker?position=' + lng + ',' + lat + '&name=' + '上海市政府'

        //   }

        // }, 2000)

      } else if (val.name == '百度') {

        // 工单返回的终点经纬度是GPS的,即WGS84的坐标,所以需要转成百度的

        let lngEnd = convertLngLat(this.currentData.longitude, this.currentData.latitude)[0]

        let latEnd = convertLngLat(this.currentData.longitude, this.currentData.latitude)[1]

        // //安卓操作系统

        // let d = new Date()

        // let t0 = d.getTime()

        // 直接唤起百度APP

        window.location.href = `baidumap://map/direction?origin=${this.lat},${this.lng}&destination=${latEnd},${lngEnd}&coord_type=bd09ll&mode=driving&src=andr.baidu.openAPIdemo`

        // //由于打开需要1~2秒,利用这个时间差来处理--打开app后,返回h5页面会出现页面变成app下载页面,影响用户体验

        // var delay = setInterval(function () {

        //   var d = new Date()

        //   var t1 = d.getTime()

        //   if (t1 - t0 < 3000 && t1 - t0 > 2000) {

        //     window.location.href =

        //       'http://api.map.baidu.com/marker?location=' +

        //       lat +

        //       ',' +

        //       lng +

        //       '&title=' +

        //       self.partnerAddress +

        //       '&content=景点&output=html&src=webapp.baidu.openAPIdemo'

        //   }

        //   if (t1 - t0 >= 3000) {

        //     clearInterval(delay)

        //   }

        // }, 1000)

      }

H5直接唤起高德地图导航APP和唤起百度地图导航APP_第1张图片

你可能感兴趣的:(javascript)