web-dev-qa-db-ja.com

Android-Web URL経由でGoogleマップを起動

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を設定しているため、問題が発生しています(ユーザーの場所を取得してからマップを開くことができます)。このために バグレポート を開きました。

26
Kevin

アドレスバーにgeo:0,0?q = googleと入力すると、マップアクティビティが開き、近くのGoogleが検索されます。

これはページ内のリンクから機能すると思いますが、チェックしていません。

ここにアクセス可能なインテントの完全なリスト: http://developer.Android.com/guide/appendix/g-app-intents.html

15
Tom Whittock

現時点では、次のテンプレートを変更する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を使用してアドレスを開きます。

これがお役に立てば幸いです。これが必要なとき、私はそれを研究するのに多くの時間を費やしたからです。

8
Cheesy
<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に正しく読み込まれ、ズームされます。作業。

7
barneymc

私はこれに本当に苦しんだが、ついに答えを得た。
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

4
Aditya Raj