1

Google マップのルート案内を Android フォンにメールで送信すると、マップ アプリケーションで開くことができます。これは、その背後にあるコードと同様に、完全に論理的に思えます。

これで、マップ アプリに入ると、ナビゲーション アプリでこれらのルートを正確なルートで開くことができます。

これはどのように作動しますか?それをするのはそれほど難しいことではないはずです、私は意図について知っています

"google.navigation:q=..."

しかし、これは一部のデバイスでのみ機能し、座標または住所でのみ機能します... マップのルート案内がありませんか?

誰でもこれで私を助けることができますか?

編集:

URL は次のようになります。

https://maps.google.com/maps?saddr=Durbanville,+Cape+Town,+Western+Cape,+South+Africa&daddr=Parow+North,+Cape+Town,+South+Africa+to:Somerset+West ,+ケープ+タウン,+南アフリカ+to:ミルナートン,+ケープ+タウン,+サウス+アフリカ&hl=en&ll=-33.955037,18.657532&spn=0.25032,0.528374&sll=-33.911454,18.601913&sspn=0.250448,4c&geocode -_0dzIkcASlBKWkzGlfMHTFTuxOUSmpCAw%3BFQTi-v0d5oMbASld0qgMSFrMHTG2XqWY145Ttw%3BFfUG-P0dPHEfASk398T7ZbXNHTG5a6EH84n4Qg%3BFVU8-_0doEkaASnrz9UPVVnMHTFz2N4nnk=&zparq&moraq1=&zparq1=&zparq1

4

3 に答える 3

10

の形式で Web URL を作成すると、

http://maps.google.com/maps?saddr=[lat 1],[lon 1]&daddr=[lat 2],[lon 2]

ここで、[lat 1][lon 1]は開始点の緯度と経度であり、同様に[lat 2][lon 2]は終点であり、それを a として設定すると、Stringこれを an に送信できますintent

Intent navIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(navigationUrl));
activity.startActivity(navIntent);

これにより、ユーザーはWeb ブラウザGoogle マップ、またはナビゲーションを開くことができます。

編集:

複数の宛先の場合は、URL の末尾に次を追加します (追加の場所ごとに)。

+to:[lat 3],[lon 3]

要求に応じ。

したがって、4 つの目的地の場合は次のようになります。

http://maps.google.com/maps?saddr=[lat 1],[lon 1]&daddr=[lat 2],
  [lon 2]+to:[lat 3],[lon 3]+to:[lat 4],[lon 4]
于 2013-05-09T10:37:01.050 に答える
0

上記の回答に従った後、Google ナビゲーション サービスが利用できない国にいることに気付きました。ただし、ナビゲーションの目的は、次の方法でGoogle マップで実現できます。

Uri routeUri = Uri.parse("http://maps.google.com/maps?&saddr=" +
                                MyApplication.Lat + "," +
                                MyApplication.Lon + "&daddr=" + merchantAddr.getText());

Intent i = new Intent(Intent.ACTION_VIEW, routeUri);
startActivity(i);

開始点を緯度/経度で地理位置に設定し、終点を住所に設定したり、その逆を行ったりできるようです。地理的位置は、Google マップの住所または道路名に変換されたようです。

于 2013-07-08T02:00:45.733 に答える