Google 跨平台地图 URL 在 "in app navigation" 之后无法在 Android 上加载路线

Google maps cross-platform URL fails to load route on Android after "in app navigation"

我有一个 Angular 9 + Ionic 5 应用程序,部署为 PWA,Android 和 IOS 应用程序。
我们使用 google 的通用跨平台 URL 来启动 Google 地图, 如此处所述:https://developers.google.com/maps/documentation/urls/get-started

函数在 google 地图中打开一个位置:

export const openMaps = (lat: number, lng: number) => {
  const url = `https://www.google.com/maps/search/?api=1&query=${lat}%2C${lng}`;
  return window.open(url, '_top').focus();
};

这在 PWA 和 IOS 应用程序中工作正常,但是在 Android 中地址按预期加载到浏览器后,在路线规划器中支持起始位置并点击“应用内导航”。 (如果我为 link 提供自动开始导航的方向,也会发生同样的情况)。

点击“应用内导航”后显示的错误:
网页在intent://maps.app.goo.gl/?link=https://www.google.com/maps/dir//50.253722,10.958954/@49.9145812,10.9626145,8z/data% 3D!4m2!4m1!3e0!11m1!6b1?entry%3Dml&apn=com.google.android.apps.maps&amv=914018424&isi=585027354&ibi=com.google.Maps&ius=comgooglemapsurl&utm_campaign=ml_promo&ct=ml-nav-nopromo-dr-nlu-wv-msc&mt=8&pt=9008&efr=1#Intent;package=com.google.android.gms;scheme=https;S.browser_fallback_url= https://play.google.com/store/apps/details%3Fid%3Dcom.google.android.apps.maps&pcampaignid%3Dfdl_long&url%3Dhttps://www.google.com/maps/dir//50.253722,10.958954/@49.9145812,10.9626145,8z/data%253D!4m2!4m1!3e0!11m1!6b1%3Fentry%253Dml&min_version%3D914018424;结束;无法加载,因为:

网络::ERR_UNKNOWN_URL_SCHEME

有人知道这里出了什么问题吗? URL 语法应该是正确的,但似乎 google 地图意图在 Android.

上加载了未知方案

已解决!问题是 window.open(url, '_top').focus();

这些 link 应该与 target: _system.

一起使用

如果是混合型 Ionic 应用程序,还推荐以下插件! https://ionicframework.com/docs/native/in-app-browser