6

Android Googleマップv2でポリラインの上に矢印を表示する方法

私はいくつかのリンクを通過しましたが、それらのほとんどは JS https://google-developers.appspot.com/maps/documentation/javascript/examples/overlay-symbol-arrowへのリンクを提供しますが、JSではなく Android で必要であり、できるAndroidでこれらのコードを使用しないでください

一部は MapActivity を使用しています。マップ アクティビティを作成するためのチュートリアルに従いました https://developers.google.com/maps/documentation/android/v1/hello-mapviewでも機能しませんでした。マップ アクティビティを生成できないため、できませんでした。ロケーションオーバーレイを使用しない

v3で利用可能であるため、いくつかのコメント投稿もありましたが、今のところ私の要件はv2です

この質問はここで何度も聞かれましたが、それでも適切な答えが見つかりませんでした

ポリラインの上に矢印を表示して、進むべき方向を示すにはどうすればよいですか

例やチュートリアルは非常に役立ちます。

ありがとう

4

2 に答える 2

3

Google Maps API v2 Demoには、MarkerDemoActivity クラスがあり、カスタム画像が GoogleMap にどのように設定されているかを確認できます。マーカーを使用して、次のように矢印を表示できます。

// First you need rotate the bitmap of the arrowhead somewhere in your code
Matrix matrix = new Matrix();
matrix.postRotate(rotationDegrees);
// Create the rotated arrowhead bitmap
Bitmap arrowheadBitmap = Bitmap.createBitmap(originalBitmap, 0, 0,
                      width, height, matrix, true);
// Now we are gonna to add a marker
mArrowhead = mMap.addMarker(new MarkerOptions()
.position(POSITION)
.icon(arrowheadBitmap));

いくつかの明確化: ルートを描画している場合、または描画するポイントが 2 つだけある場合は、次のrotationDegreesようにして取得できます。

rotationDegrees = Math.toDegrees(Math.atan2(originLat-destinyLat, originLon-destinyLon));

古典的な回転ゲームのアルゴリズム :D

矢印の画像が上を向いていることを確認してください。矢印を表示するために画像を使用せず、代わりにポリラインのみを使用する場合は、最後の LatLng ポイント (矢印を表示する場所) を取得し、 45° の平行移動アルゴリズムを使用して、矢印を作成する 2 本の線を描画します。

于 2013-10-06T02:28:18.457 に答える