Я создал собственную карту 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, на любой маркер, а затем ссылку «Получить маршрут».