0

地図を表示するアプリを作成したいのですが、この地図の上に、道路と名所が線と楕円として描かれます。これらの線と楕円にはリスナーがアタッチされているため、ユーザーはそれらをドラッグしたり削除したりできます。

私はosmdroidでopenstreetmapsを使用していますが、Googleマップとまったく同じようです。

OverlayItem クラスを拡張して、関心のあるポイントまたは道路を表すことを考えていました。Overlay クラスは拡張され、これらの拡張された OverlayItems の ArrayList を含みます。

Overlay クラスの draw メソッドはオーバーライドされ、arraylist に含まれるすべての OverlayItem が描画されます。

次に、この Overlay クラスが MapView に追加されます。

多くのチュートリアルで ItemizedOverlay が使用されているため、これが機能するかどうかはわかりません。これは正確には何ですか?

ありがとう

4

2 に答える 2

1

Anは、指定された ( のリストを使用して)のマップにのリストを追加するために、(あなたがやりたいように) 拡張し、ほぼ完成した (まだ拡張して特定の部分を埋める必要がある)ItemizedOverlayクラスです。追加されたアイテムにも実装されます。OverlayDrawablesGeopointsOverlayItemonTap()

要するに、ItemizedOverlayあなたの目的と思われるものを目的とした事前にコード化されたクラスです。

制限事項

すべてのオーバーレイに最適なソリューションではない可能性があります...

独自の calss 拡張オーバーレイを使用する方がよい例:

  • POI実行時に回転する必要があるが必要な場合Drawable(つまり、変化する方向を指す矢印)
  • マーカーなしでルートを描きたい場合
  • ドローアブルでは簡単に作れないものを描きたい場合

よろしく。

于 2012-12-02T19:29:49.857 に答える
0

基本的に、ItemizedOverlayあなたが話していることを実行しますOverlayItem。描画するオブジェクトの項目別リストが含まれています。

于 2012-12-02T16:58:19.343 に答える