2013-08-09 12 views
10

Ciao Sto cercando un modo per aprire l'app di applicazione nativa dell'applicazione da un'app javascript spostata con PhoneGap.Apertura dell'app mappa nativa da javascript senza fare affidamento sulle coordinate di longitudine e latitudine

Finora il mio reaserch rivelato che per Android dovrò utilizzare un collegamento in questo formato:

<a href="geo:38.897096,-77.036545">Geolocation Test</a> 

Questo è problematico perché dovrò utilizzare un servizio esterno per convertire l'indirizzo in longitudine e lattitude coordinate, che è qualcosa che vorrei evitare se possibile.

Nel caso di iOS questo è un sacco simpler.I hanno solo per dargli un link in questo formato:

<a href="maps:q=Bacau">Test 2</a> 

E del nativo mappa app è stato inaugurato.

C'è un modo, simile a quello in iOS, per Android per fornire un collegamento semplice con un indirizzo in un formato specifico e il dispositivo saprà di aprire la sua app di mappe native?

risposta

10

Cordova 3.6.0 introduce una seconda lista bianca, per limitare quali URL sono autorizzati a lanciare applicazioni esterne. Nelle versioni precedenti di Cordova, tutti gli URL non http, come mailto :, geo :, sms: e intent, erano implicitamente autorizzati a essere il bersaglio di un tag. A causa del potenziale di perdita di informazioni da parte di un'applicazione, se una vulnerabilità XSS consente a un utente malintenzionato di creare collegamenti arbitrari, questi URL devono essere inclusi nella whitelist, a partire da Cordova 3.6.0.

Cordova 3.6.0 Whitelist Guide

quindi è necessario aggiungere esplicitamente nel config.xml:

<access origin="tel:*" launch-external="yes" /> 
    <access origin="mailto:*" launch-external="yes" /> 
14

Guardando allo Android intents list dovrebbe essere possibile utilizzare il parametro q all'interno dello spazio URI geo:.

Prova questo:

<a href="geo:0,0?q=Bacau">Test</a> 
Problemi correlati