React Native中Google Maps导航路线加载延迟问题求助
Google Maps Intent 导航路线加载延迟问题(2024年6月)
问题描述
在React Native应用中使用Google Maps Intent导航已近一年,此前通过以下代码传递坐标可正常打开导航模式:
const destination = `${coordinates.latitude},${coordinates.longitude}`; const url = `https://www.google.com/maps/dir/?api=1&dir_action=navigate&destination=${destination}`; Linking.canOpenURL(url).then(supported => { if (!supported) { console.log('Can\'t handle url: ' + url); return null } else { return Linking.openURL(url); } }).catch(err => console.error('An error occurred', err));
自2024年6月12日起,地图能进入导航模式,但路线加载耗时极久。在应用外打开相同链接,问题依然存在,期望路线能即时加载。
可能的解决方案
- 显式添加
origin参数:即使使用当前位置,显式传递设备当前经纬度作为origin,帮助地图更快初始化路线计算。示例:const origin = `${currentLat},${currentLng}`; // 获取设备当前坐标 const url = `https://www.google.com/maps/dir/?api=1&dir_action=navigate&origin=${origin}&destination=${destination}`; - 使用Google Maps原生导航URI:官方推荐的原生Intent格式可能比Web API链接更稳定,替换URL为:
若需要指定导航模式(如驾车),可添加const url = `google.navigation:q=${destination}`;mode参数:const url = `google.navigation:q=${destination}&mode=d`; // d=驾车, w=步行, b=骑行 - 更新Google Maps应用:确保用户设备上的Google Maps是最新版本,旧版本可能存在兼容性问题。
- 验证坐标精度:检查传递的经纬度是否格式正确,避免多余的小数位或格式错误导致地图解析延迟。
- 检查Google服务状态:可能是Google Maps服务端临时故障,确认服务是否正常运行。
内容的提问来源于stack exchange,提问作者Ruchaw
相关产品推荐
相关产品推荐

