Ссылка на Apple Maps не открывает родное приложение через Chrome для iOS - PullRequest
0 голосов
/ 22 мая 2019

Я создал собственную карту Google, которая включает функцию, которая устанавливает ссылку для открытия в Apple Maps или Google Maps:

function mapsSelector(lat, long) {
  /* If on iOS, open in Apple Maps */
  if ((navigator.platform.indexOf('iPhone') != -1) || (navigator.platform.indexOf('iPad') != -1)) {
    window.open('http://maps.apple.com/?daddr=' + lat + ',' + long + '&dirflg=w');
  /* else, use Google */
  } else {
    window.open('https://www.google.com/maps/dir/?api=1&destination=' + lat + ',' + long + '&travelmode=bicycling');
  }
}

Он работает на моем веб-сайте, когда он запускается как веб-приложение или в Safari (он открывает Apple Maps), но в Chrome для iOS он ненадолго открывает новую вкладку, которая затем сразу же закрывается. Если тот же URL-адрес открывается как стандартный href, он работает, как и ожидалось, поэтому я предполагаю, что это как-то связано с тем, как функция вызывает ссылку.

Чтобы воспроизвести, вы можете нажать http://nyceboarding.com/map.html, на любой маркер, а затем ссылку «Получить маршрут».

1 Ответ

0 голосов
/ 22 мая 2019

Они ключ к тому, что пользователи iOS в начале используют другой протокол.Попробуйте изменить "http://" в блоке iOS на" maps: // "и посмотрите, работает ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...