2013-08-09 16 views
10

こんにちは私はphonegapラップjavascriptアプリからアプリケーションのネイティブマップアプリを開く方法を探しています。経緯度と緯度座標に依存せずにjavascriptからネイティブマップアプリを開く

これまでのところ、私のreaserchは、Androidのために、私はこの形式でリンクを使用する必要がありますことを明らかにした:私は経度とlattitudeにアドレスを変換するために、外部のサービスを使用する必要がありますので

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

これには問題があります可能ならば私が避けたいものです。

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

とネイティブの地図アプリの取得のoppened:これはsimpler.IたくさんあるのiOSの場合は

は、それだけにこの形式のリンクを与える必要があります。

iOSのような方法でAndroidに特定の形式のアドレスを持つプレーンリンクを付けることはできますか?デバイスがそのネイティブマップアプリケーションを開くことを知っていますか?

答えて

10

コルドバ3.6.0は、URLは、外部アプリケーションを起動することが許可されている制限のために、第二ホワイトリストを紹介します。以前のバージョンのCordovaでは、mailto :, geo :, sms:and intentなどのhttp以外のURLはすべて暗黙的にaタグのターゲットとして許可されていました。アプリケーションが情報を漏らす可能性があるため、XSSの脆弱性により攻撃者が任意のリンクを構築できる場合、これらのURLもCordova 3.6.0からホワイトリストに登録する必要があります。

Cordova 3.6.0 Whitelist Guide

だから、config.xmlに明示的に追加する必要があります。

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

Android intents listを見ると、geo: URI空間内のqパラメータを使用することが可能です。

これを試してみてください:

<a href="geo:0,0?q=Bacau">Test</a> 
関連する問題