Ответ 1
Вы можете использовать гео-ссылки для открытия навигационного приложения на Android. К сожалению, это не поддерживается в iOS. Но в целом вы должны помнить, что вы не можете напрямую контролировать, как эта ссылка обрабатывается на устройстве, так как я сказал, что iOS ничего не делает или может даже показать неверную ошибку ссылки, и могут быть устройства Android, которые также не поддерживают эту функцию, Просто помните, что вы не можете быть уверены, что он работает где угодно, и поэтому ваш веб-сайт не должен зависеть от этой функции, это должно быть просто дополнительным преимуществом для устройств, поддерживающих эту функцию.
1) Отображение местоположения в собственном приложении карты
С помощью геоссылки вы можете указать такое местоположение:
geo:longitude,laditude
Или вот так:
geo:street+address
Вы также можете найти такой адрес:
geo:?q=street+address
Вы также можете определить уровень масштабирования следующим образом:
geo:street+address?z=3
И также возможно объединить несколько параметров, например:
geo:?q=street+address&z=15
Но будьте осторожны, что это не работает должным образом. В этом случае в Картах Google он начинается с определенного уровня масштабирования, а затем начинает поиск, увеличивая масштаб цели.
Здесь немного документация для Android.
2) Открытие маршрута на Картах Google
Вы также можете использовать следующую ссылку, чтобы просто показать маршрут между двумя местоположениями:
http://maps.google.com/maps?saddr=street+adress&daddr=street+address
И координаты также работают с этим:
http://maps.google.com/maps?saddr=50,10&daddr=50,20
Вы можете снова использовать его следующим образом:
<a href="http://maps.google.com/maps?saddr=New+York&daddr=San+Francisco">Route New York --> San Francisco</a>
3) Сразу после начала навигации
С помощью этой опции ссылка открывает маршрут к местоположению, и устройство не просто показывает маршрут, но сразу же начинает навигацию:
google.navigation:q=street+address
Вы также можете использовать координаты:
google.navigation:q=50,10
Вы бы использовали его следующим образом:
<a href="google.navigation:q=San+Francisco">Navigation to San Francisco</a>
4) Тестирование
Я тестировал все на Nexus 5 под управлением Android 4.4 (KitKat) со следующим HTML:
<!DOCTYPE html>
<html>
<head>
<title>Geo Link Test</title>
</head>
<body>
<p><a href="geo:50,10">Location 50/10</a></p>
<p><a href="geo:Vienna">Location Vienna</a></p>
<p><a href="geo:?z=5&q=New+York">Zoom 5, Search for New York</a></p>
<p><a href="geo:?q=San+Francisco&z=15">Zoom 15, Search for San Francisco</a></p>
<p><a href="google.navigation:q=San+Francisco">Navigation to San Francisco</a></p>
<p><a href="google.navigation:q=50,10">Navigation to 50/10</a></p>
<p><a href="http://maps.google.com/maps?saddr=New+York&daddr=San+Francisco">Route New York --> San Francisco</a></p>
<p><a href="http://maps.google.com/maps?saddr=50,10&daddr=50,20">Route 50/10 --> 50/20</a></p>
</body>
</html>