2013-08-09 5 views
10

Hallo Ich bin auf der Suche nach einer Möglichkeit, die native Karte App der Anwendung von einem phonegap eingewickelten Javascript-App zu öffnen.Öffnen native Karte App von Javascript ohne Längen- und Breitengrad Koordinaten

Bisher meine reaserch ergab, dass für Android ich einen Link in diesem Format verwenden haben:

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

Dies ist problematisch, weil ich die Adresse in Länge und lattitude müssen einen externen Service nutzen zu konvertieren Koordinaten, was ich gerne vermeiden würde.

Im Falle von iOS diese Menge simpler.I ist nur haben sie einen Link in diesem Format geben: oppened

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

Und die native Karte App gets.

Gibt es eine Möglichkeit, ähnlich der in iOS, für Android, um es eine einfache Verbindung mit einer Adresse in einem bestimmten Format zu geben, und das Gerät wird wissen, um seine native Karte App zu öffnen?

Antwort

10

Cordova 3.6.0 führt eine zweite weiße Liste, für die Beschränkung, die URLs erlaubt sind externe Anwendungen zu starten. In früheren Versionen von Cordova waren alle Nicht-HTTP-URLs wie mailto :, geo :, sms: und intent implizit als Ziel eines a-Tags zulässig. Aufgrund der Möglichkeit, dass eine Anwendung Informationen verliert, wenn eine XSS-Sicherheitslücke es einem Angreifer ermöglicht, beliebige Links zu erstellen, müssen diese URLs ebenfalls in der Whitelist aufgenommen werden, beginnend in Cordova 3.6.0.

Cordova 3.6.0 Whitelist Guide

Sie müssen also explizit in der config.xml hinzu:

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

Mit Blick auf die Android intents list sollte es möglich sein, die q Parameter innerhalb der geo: URI Raum.

Try this:

<a href="geo:0,0?q=Bacau">Test</a> 
Verwandte Themen