2011-01-09 13 views
25

Su iPhone, un URL maps.google.com viene intercettato e caricato dall'applicazione nativa di google maps. Mi piacerebbe fare lo stesso su Android, ma Google Maps è stato caricato nel browser.Android - avvia la mappa di google tramite l'URL web

Quindi, in una pagina Web, è possibile avere questo URL http://maps.google.com/maps?saddr=brighton&daddr=timbuktu aperto nell'applicazione Android di Google Maps?

Vedo da this domanda che è possibile farlo da un'altra applicazione tramite un intento. Puoi attivare questi Intent dal browser?

Modifica - Su ulteriori test, ho trovato che l'utente verrà richiesto di aprire il collegamento in browser o app per mappare i link HTML standard per maps.google.maps:

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

I Sto avendo il problema perché sto usando javascript per impostare window.location.href tramite un callback dell'API di posizione (in modo da poter ottenere la posizione dell'utente e quindi aprire la mappa). Ho aperto un bug report per questo.

+0

Nota che da iOS 6 devi convertire tutte le richieste di mappe da "maps.google.com" a "maps.apple.com" per attivare la mappa iOS. Piuttosto fastidioso davvero. –

+0

C'è un'altra domanda (per dispositivi Android) correlata a questa domanda che ho trovato utile. http://stackoverflow.com/questions/8443662/google-maps-link-produces-slightly-moved-marker-when-opened-with-native-iphone-a – Strixy

risposta

15

Digitazione geo: 0,0? Q = google nella barra degli indirizzi apre l'attività delle mappe e ricerca google nelle vicinanze.

Presumo che funzioni da un collegamento in una pagina, ma non controllato.

un elenco completo di intenti accessibili qui: http://developer.android.com/guide/appendix/g-app-intents.html

+0

Stranamente, questo non funziona su Nexus One. E anche se lo avesse fatto, l'URI geo non supporta attualmente i parametri saddr/daddr. (http://tools.ietf.org/html/draft-mayrhofer-geo-uri-00) – Kevin

+0

Ho provato con un link in una pagina, e funziona su Nexus One (non è possibile inserirlo nel Barra dell'URL). Comunque, non riesco ancora a usarlo per ottenere indicazioni stradali. – Kevin

+0

Strano, posso inserirlo nella barra degli indirizzi del browser sul mio HTC. Ad ogni modo, in termini di indicazioni, c'è l'inaffidabile intento 'google.navigation: q = starbucks', ma ho sentito che non è disponibile ovunque. –

7
<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> 

Il primo clic carichi correttamente l'app Google su Android e zoom. Nel secondo clic ho tentato di replicare una rotta a due punti (indirizzo iniziale-> indirizzo di destinazione) e non sembra funzionare.

+0

come posso far funzionare questo iPhone? – masterweily

-2

Prova questa PHPcode

echo "<a href='geo:".$lat.",".$lng."?q=".$lat.",".$lng."(".$NameLocationLabel.")'>Open map Native</a>"; 

sue opere per me in PhoneGap, Android e IOS ^^

+0

Il "geo" non funziona per me su iOS, solo per Android – Rodney

4

ho davvero sofferto molto da questo, ma finalmente ho avuto risposta.
Non utilizzare href, non funzionerà.

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

Per ricerca - window.open ("geo: 0,0? Q = pizza", "_system");

leggere qui - https://developers.google.com/maps/documentation/android/intents

+0

Nessuna delle soluzioni di cui sopra funzionava per me :) –

7

In questo momento io uso una funzione javascript che cambiano i seguenti modelli:

'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}'}});" 

con quello che informazioni mi sono a seconda del dispositivo, non mi ricordo da dove mi ho ottenuto tutti i modelli e mi dispiace per questo, e dopo di ciò apro l'indirizzo usando window.location.href.

Spero che questo ti possa aiutare. Perché al momento ho bisogno di questo ho trascorso un sacco di tempo a cercarlo.

Problemi correlati