企业微信唤起地图app实现多点导航

发布时间:2026/7/23 7:54:07
企业微信唤起地图app实现多点导航 唤起百度地图方法如下代码export async function goMapForPlane(params:{map:any, end:any, wayPoints:any}){ try{ //获取手机系统判断是iOS还是Android const platform await mobileSystem() const { end, wayPoints [] } params const endLng Number(end.lng) const endLat Number(end.lat) let webUrl let wpStr; if (params.map gaode) { // // 高德APP协议 const vialats wayPoints.map((point:any){ //transformFromBaiduToGCJ 将百度坐标转为GCJ-02(火星坐标) const newP transformFromBaiduToGCJ(Number(point.lat),Number(point.lng)) return newP.latitude }).join(|) const vialngs wayPoints.map((point:any){ const newP transformFromBaiduToGCJ(Number(point.lat),Number(point.lng)) return newP.longitude }).join(|) const vianames wayPoints.map((point:any)point.address || 途径点).join(|) console.log(p,wayPoints) const endPoint transformFromBaiduToGCJ(endLat,endLng) console.log(latitude,longitude,endPoint.latitude,endPoint.longitude) webUrl ${platform.includes(Android) ? androidamap://route : iosamap://path}?dlat${endPoint.latitude}dlon${endPoint.longitude}dname${encodeURIComponent(end.address)}t0dev0style0vian${wayPoints.length}vialons${vialngs}vialats${vialats}vianames${encodeURIComponent(vianames)}srcadr.com.企业微信 } else if (params.map baidu) { const arr:any [] if (wayPoints.length) { wayPoints.forEach((wp:any) { arr.push({ name:wp.address, lng:wp.lng, lat:wp.lat }) }) } wpStr JSON.stringify({viaPoints:arr}) webUrl ${platform.includes(Android) ? bdapp://map/direction : baidumap://map/direction}?destination${encodeURIComponent(end.name)}|latlng:${endLat},${endLng}coord_typebd09llmodedrivingviaPoints${encodeURIComponent(wpStr)}srcandr.com.企业微信 } let hasJump false // 唤起百度地图app const timer setTimeout(() { if (!hasJump) { wx.invoke(openUrl, { type: 1, //0或不填表示使用内部浏览器新窗口打开1表示用系统浏览器打开 url: webUrl, //url地址 }, function(res:any){ if (res.err_msg ! openUrl:ok) { //错误处理 } }); } clearTimeout(timer) }, 300) }catch(err){console.log(唤起导航异常)} }