Универсальная межплатформенная синтаксическая ссылка Google maps не инициализирует адреса при открытии с Chrome на мобильном устройстве Android - PullRequest
0 голосов
/ 07 марта 2020

В приложении Angular8 с Ionic5 я использую ссылку, чтобы открыть навигацию в Картах Google с несколькими инициализированными адресами.
Я следовал официальным документам, чтобы создать URL, как описано в:
https://developers.google.com/maps/documentation/urls/guide

Моя функция, которая открывает URL-адрес, выглядит следующим образом:

export interface ILatLong {
  latitude: number;
  longitude: number;
}

export interface IFromTo {
  from: ILatLong;
  to: ILatLong;
}

export interface IRoute {
  fromTo: IFromTo;
  stopovers: ILatLong[];
}

export const openFullRouteMaps = (navRoute: IRoute) => {
  const waypoints = (stops: ILatLong[]) => {
    if (stops) {
      let waypointsChained = '&waypoints=';
      for (const stop of stops) {
        waypointsChained += `${stop.latitude}%2C${stop.longitude}%7C`;
      }
      // clean up last 3 unused characters ("%7C")
      return waypointsChained.slice(0, -3);
    } else {
      return '';
    }
  };

  const win = window.open(
    `https://google.com/maps/dir/?api=1
     &origin=${navRoute.fromTo.from.latitude}%2C${navRoute.fromTo.from.longitude}
     &destination=${navRoute.fromTo.to.latitude}%2C${navRoute.fromTo.to.longitude}
     ${waypoints(navRoute.stopovers)}`
  );

  return win.focus();
};

Она отлично работает (открывает сайт или приложение Google Maps, если доступно с инициализированными адресами) из P C, используя Я выбрал IOS мобильные устройства, но когда я использую Android мобильные устройства (также Chrome браузер), он открывает приложение Google Maps без каких-либо адресов в нем.

Кто-нибудь имеет представление о том, что произошло неправильно?

1 Ответ

1 голос
/ 11 марта 2020

Добавление еще одного необязательного параметра в URL решило мою проблему:

& travelmode = drive

...