2011-08-04 20 views
7

私は20のレストランデータを持つ地図アプリケーションを作成しています。オーバーレイピンを使用してMap内のすべてのレストランを表示したいのですが、実際の問題はインデックス番号を表示することですそれぞれ、すべてのピン(20ピンがある場合、例えば、全てのピンは、インデックスであるべきであるリストからのレストランを表しない1,2,3)。誰もが、私は単一のピン画像にインデックス番号を置くことができますどのように私に言うことができる... ??私はあなたが描画可能なクラスを拡張し、方法をonDrawオーバーライドする必要がオーバーレイ地図上にインデックス番号を設定する方法ピン画像

+0

あなたの目印の数に関してdrawable(インデックス番号付きのimg)の配列のループがあります.... – Hanry

+0

同じ画像にインデックス番号を追加する方法はありますか? increseを取得し、インデックス番号付きのimgは正しいオプションではありません。 –

+0

あなたはballoonOverlayを使用することができますが、あなたがそのマークをタップしたときにのみ見られ:( – Hanry

答えて

3

これは私のプロジェクトの後半に発見された事実です:MapViewは実際にはViewGroupalso mentioned here)です。だからではなく、ドローアブルを何とか複雑なオーバーレイを使用して取り付ける、あなたはそれにMapView.LayoutParamsインスタンスを割り当て、(あなたがマップ上に表示したいものは何でもかのTextView、またはいくつかのネストされたレイアウト、または)ボタンを作成し、それを追加することができますMapView。コードで

// Create the overlay pin 
View overlayPin = getLayoutInflater().inflate(R.layout.overlay_pin, null); 
// Number it according to your question, e.g. 
((TextView)(overlayPin.findViewById(R.id.overlay_text))).setText("1"); 

30、のは、-60を座標あなたは地理上のピンを配置したいとしましょう
// Set a layout params to the pin. 
overlayPin.setLayoutParams(new MapView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, new GeoPoint(-60000000, 30000000), MapView.LayoutParams.BOTTOM_CENTER); 
// Add the pin to the map 
mapView.addView(overlayPin); 

このようにしてバックグラウンドのために一つだけのグラフィック資産を持つことができますピンの、およびナンバリングのためTextViewを使用しています。

0

同じ画像を使用したいです。その中で、canvas.drawTextを使ってピンに番号を書くことができます。

関連する問題