IPhoneでは、maps.google.comのURLは、ネイティブのgoogleマップアプリケーションによってインターセプトされ、ロードされます。 Androidでも同じようにしたいのですが、ブラウザにGoogleマップが読み込まれています。
そのため、Webページでは、このURLを使用できます http://maps.google.com/maps?saddr=brighton&daddr=timbukt Android = Googleマップアプリケーション?
this の質問から、Intentを介して別のアプリから実行できることがわかりました。これらのインテントをブラウザからトリガーできますか?
Edit-さらにテストすると、ユーザーはブラウザーまたはマップアプリでリンクを開いて、マップへの標準的なhtmlリンクを表示するように求められることがわかりました。グーグルマップ :
<a href="http://maps.google.com/maps?saddr=brighton&daddr=timbuktu">show route</a>
Location APIコールバックを介してjava.scriptを使用してwindow.location.hrefを設定しているため、問題が発生しています(ユーザーの場所を取得してからマップを開くことができます)。このために バグレポート を開きました。
アドレスバーにgeo:0,0?q = googleと入力すると、マップアクティビティが開き、近くのGoogleが検索されます。
これはページ内のリンクから機能すると思いますが、チェックしていません。
ここにアクセス可能なインテントの完全なリスト: http://developer.Android.com/guide/appendix/g-app-intents.html
現時点では、次のテンプレートを変更するjavascript関数を使用しています。
'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}'}});"
デバイスに応じてどのような情報が得られたのか、すべてのテンプレートをどこから入手したか覚えていないため、申し訳ありません。その後、window.location.hrefを使用してアドレスを開きます。
これがお役に立てば幸いです。これが必要なとき、私はそれを研究するのに多くの時間を費やしたからです。
<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>
最初のクリックで、GoogleアプリがAndroidに正しく読み込まれ、ズームされます。作業。
私はこれに本当に苦しんだが、ついに答えを得た。
hrefを使用しないでください。動作しません。
ナビゲーションの場合-window.open( "google.navigation:q = 23.3728831,85.3372199&mode = d"、 '_system');
検索の場合-window.open( "geo:0,0?q = pizza"、 '_system');
ここを読む- https://developers.google.com/maps/documentation/Android/intents