Je développe un très petit site Web HTML5/javascript pour être ouvert par les navigateurs mobiles à partir d'appareils tels que Android/iphone. J'utilise la géolocalisation de HTML5 pour obtenir l'emplacement actuel, mais une fois que je l'ai, je voulez naviguer vers une destination. Le mieux que j'ai trouvé est que l'utilisateur clique sur un lien similaire au lien ci-dessous
https://maps.google.com/maps?saddr=london&daddr=paris
Cependant, cela n'ouvre pas l'application de navigation, il passe simplement au site Web mobile de Google Maps. Existe-t-il un moyen d'ouvrir l'application de navigation (GPS) en utilisant HTML5/javascript? Quelque chose comme ça:
navigate:London to Paris
Vous pouvez utiliser des liens géographiques pour ouvrir l'application de navigation sur Android. Malheureusement, cela n'est pas pris en charge sous iOS. Mais généralement, vous devez vous rappeler que vous ne pouvez pas contrôler directement la façon dont ce lien est géré sur l'appareil, car j'ai dit qu'iOS ne fait rien ou peut même afficher une erreur de lien non valide, et il peut y avoir Android = appareils qui ne prennent pas non plus en charge cette fonctionnalité. N'oubliez pas que vous ne pouvez pas être sûr que cela fonctionne n'importe où et que votre site Web ne devrait pas dépendre de cette fonctionnalité, il devrait simplement être un peu plus convivial pour les appareils qui prennent en charge cette fonctionnalité.
Avec le lien géographique, vous pouvez spécifier un emplacement comme celui-ci:
geo:longitude,laditude
Ou comme ça:
geo:street+address
Vous pouvez également rechercher une adresse comme celle-ci:
geo:?q=street+address
Vous pouvez également définir un niveau de zoom comme celui-ci:
geo:street+address?z=3
Et il est également possible de combiner plusieurs paramètres comme celui-ci:
geo:?q=street+address&z=15
Mais attention, cela ne fonctionne pas comme prévu. Dans ce cas, dans Google Maps, il commence avec le niveau de zoom défini, puis démarre la recherche et effectue un zoom avant sur la cible.
Ici est un peu de documentation Android.
Vous pouvez également utiliser le lien suivant pour afficher simplement un itinéraire entre deux emplacements:
http://maps.google.com/maps?saddr=street+adress&daddr=street+address
Et les coordonnées fonctionnent également avec ceci:
http://maps.google.com/maps?saddr=50,10&daddr=50,20
Vous pouvez à nouveau l'utiliser comme ceci:
<a href="http://maps.google.com/maps?saddr=New+York&daddr=San+Francisco">Route New York --> San Francisco</a>
Avec cette option, le lien ouvre un itinéraire vers un emplacement et l'appareil ne montre pas seulement l'itinéraire mais il commence immédiatement à naviguer:
google.navigation:q=street+address
Vous pouvez également utiliser des coordonnées:
google.navigation:q=50,10
Vous l'utiliseriez comme ceci:
<a href="google.navigation:q=San+Francisco">Navigation to San Francisco</a>
J'ai tout testé sur un Nexus 5 exécutant Android 4.4 (KitKat) avec le code HTML suivant:
<!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>
bien après de nombreux tests de liens, je l'ai résolu pour moi:
<a href="http://maps.google.com/maps?q=loc: <lat>,<lng>&navigate=yes">nav</a>
celui-ci ouvre le menu de choix de l'application de navigation utilisateur et passe les cordons auxquels vous souhaitez naviguer.
prendre plaisir
Depuis que cette question a été publiée pour la première fois et répondue, en octobre 2017, Google a développé une API appelée Maps Maps .
Il s'agit d'une URL multi-plateforme universelle pour le lancement de Google Maps.
https://www.google.com/maps/dir/?api=1
est le point de terminaison des cartes pouvant inclure la navigation.
Vous ajoutez les paramètres suivants:
&Origin=new+york
&destination=san+fransisco
&dir_action=navigate
Si vous omettez l'Origin, il détectera l'emplacement de l'appareil, ce qui est probablement mieux pour la navigation de toute façon:
https://www.google.com/maps/dir/?api=1&destination=san+fransisco&dir_action=navigate
Cela n'ouvrira pas immédiatement la navigation, mais vous amènera à une carte Google, qui aura l'icône de navigation sur la page, et donnera à l'utilisateur la possibilité d'utiliser l'application (ou de la télécharger s'il ne l'a pas). Cela semble être une bonne solution. Je viens de le tester dans mon navigateur, mon Google Pixel et mon iPhone et cela fonctionne de la même manière sur chaque appareil mobile.
Consultez le reste de la documentation pour des fonctionnalités plus utiles: https://developers.google.com/maps/documentation/urls/guide