web-dev-qa-db-fra.com

Android - lancer google map via l'URL Web

Sur l'iPhone, une URL maps.google.com est interceptée et chargée par l'application native Google Maps. Je voudrais faire la même chose sur Android, mais Google Maps est en cours de chargement dans le navigateur.

Ainsi, dans une page Web, est-il possible d'avoir cette URL http://maps.google.com/maps?saddr=brighton&daddr=timbukt ouvert dans le Android = Application Google Map?

Je vois de this question que vous pouvez le faire à partir d'une autre application via une intention. Pouvez-vous déclencher ces intentions à partir du navigateur?

Modifier - Lors de tests supplémentaires, j'ai constaté que l'utilisateur sera invité à ouvrir le lien dans le navigateur ou l'application de carte pour les liens html standard vers les cartes. Google Maps :

<a href="http://maps.google.com/maps?saddr=brighton&daddr=timbuktu">show route</a>

J'ai le problème parce que j'utilise javascript pour définir le window.location.href via un rappel de l'API de localisation (afin que je puisse obtenir l'emplacement de l'utilisateur et ensuite ouvrir la carte). J'ai ouvert un rapport de bogue pour cela.

26
Kevin

Taper geo: 0,0? Q = google dans la barre d'adresse ouvre l'activité des cartes et recherche google à proximité.

Je suppose que cela fonctionnera à partir d'un lien dans une page, mais je n'ai pas vérifié.

une liste complète des intentions accessibles ici: http://developer.Android.com/guide/appendix/g-app-intents.html

15
Tom Whittock

À ce moment, j'utilise une fonction javascript qui modifie les modèles suivants:

'urlTemplates': {
            "default": "http://maps.google.com?q={streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
            "ios": "maps:?saddr=Current Location&daddr={streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
            "Android": "geo:{streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
            "windows_phone7": "maps:{streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
            "windows_phone8": "bingmaps:?where={streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
            "blackberry": "javascript:blackberry.launch.newMap({'address':{'address1':'{streetAddress}','city':'{addressLocality}','country':'{addressCountry}','stateProvince':'{addressRegion}','zipPostal':'{postalCode}'}});"

avec quelles informations j'ai obtenu en fonction de l'appareil, je ne me souviens pas d'où j'ai obtenu tous les modèles et je suis désolé pour cela, et ensuite j'ouvre l'adresse en utilisant window.location.href.

J'espère que cela vous aidera. Parce qu'au moment où j'en ai besoin, j'ai passé beaucoup de temps à le rechercher.

8
Cheesy
<html>
  <body>
  <H1>
   <a href="geo:42,2?z=8">Click here for maps</a>
 </h1>
   <BR><BR>
   <a href="geo:53,-9?saddr=(53,-9)&daddr=(42,4)">Click here for route maps</a>
 </body>
</html>

Le premier clic charge correctement l'application Google sur Android et zooms. Dans le deuxième clic, j'essaie de reproduire un itinéraire en deux points (adresse de départ-> adresse de destination) et il ne semble pas travail.

7
barneymc

J'ai vraiment beaucoup souffert de cela, mais j'ai finalement obtenu une réponse.
N'utilisez pas href , cela ne fonctionnera pas.

Pour la navigation - window.open ("google.navigation: q = 23.3728831,85.3372199 & mode = d", '_system');

Pour la recherche - window.open ("geo: 0,0? Q = pizza", '_system');

Lire ici - https://developers.google.com/maps/documentation/Android/intents

4
Aditya Raj