-1

現在の場所と目的地の 2 つのアイコンを Google マップに表示する、スマートフォンで使用するための単純な PHP ベースのオフロード ナビゲーション Web ページを作成しています。移動すると、アイコンの位置が自動的に更新されます。

基本的な作業を行うためのサンプル コードには、次のものが含まれます。この Stackoverflow の例このチュートリアル。

現在歩いている方向を指す矢印をアイコンにしたいと思います。方向は、以前の位置と現在の位置に基づいています。それを達成する方法を知っている人はいますか?

大雑把な方法の 1 つは、N、S、E、W、NE を表す 8 つ (または 16 個) のアイコンを用意し、自分の方向にほぼ一致するアイコンを選択することですが、もっと動的なものを望んでいました。

もう 1 つのオプションは、私が行った場所の地図上に道を描くことです。とにかくそれをやろうと思っていますが、矢印も欲しいです。

私が望むものを正確に明確にするために、この Stackoverflow の例には、地図上に現在の位置のマーカーを表示するための次のコードが含まれています。

map = new google.maps.Map(document.getElementById("map_canvas"), {
zoom: 18,
center: new google.maps.LatLng(startPos.coords.latitude, startPos.coords.longitude),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: new google.maps.LatLng(startPos.coords.latitude, startPos.coords.longitude),
map: map
});

涙型のマーカーの代わりに、歩いている方向を指す矢印が必要です。以前の場所と現在の場所の緯度/経度に基づいて、それが指す方向を計算しますが、上記のコードの位置を示すコードを挿入する必要があります:...

これは基本的なナビゲーションに関するものなので、以前に行われたと確信しています。私は例を見つけることができませんでした。(Googleの方向性APIは使いたくない。使用制限があり、オフロードにはあまり向いていない。)

4

1 に答える 1

0

私はこれを自分で試したことはありませんが、Google Maps Javascript API がこの機能を提供しているようです。google.Maps.Symbolオブジェクトを使用できます。

回転プロパティを使用すると、シンボルの回転を度単位で設定できます。次に、API から現在地と目的地の間の角度を取得する必要があります。

pathプロパティを使用すると、シンボルを設定できます。Google は既に矢印の記号を実装しており、定数BACKWARD_CLOSED_ARROWBACKWARD_OPEN_ARROWFORWARD_CLOSED_ARROWおよびを使用していますFORWARD_OPEN_ARROW

また、シンボルの色付けやスケーリングなどもサポートしているようで、かなりのことができます。この情報がお役に立てば幸いです。

于 2013-11-05T03:08:57.620 に答える