0

マップ上で特定のアイテムを表示するのが困難です。ユーザーがポイントをクリックすると、その上にカウンターのあるオブジェクトを配置したいと思います。この方法を使用して、テキストビューを使用してドローアブルに変換することを考えていましたが、機能しません。私が試したのは次のようになります:
xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout ... >
    <TextView
        android:id="@+id/object"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableBottom="@drawable/car"
        android:text="Human 1,2..." /> <!-- Here should be the counter modified programatically -->
</LinearLayout>

コード:

    public boolean onTouchEvent(MotionEvent e, MapView m) {
    ....
        CustomPinPoint custom = new CustomPinPoint(getHuman(), Main.this);
    }
    private Drawable getHuman() {
            Bitmap snapshot = null;
            Drawable drawable = null;
            LayoutInflater li = Main.this.getLayoutInflater();
            View view = li.inflate(R.layout.human, null); //human is the layout
            view.setDrawingCacheEnabled(true);
            view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
            try {
                snapshot = Bitmap
                        .createBitmap(view.getDrawingCache());
                drawable = new BitmapDrawable(snapshot);
            } finally {
                view.setDrawingCacheEnabled(false);
            }
            return drawable;

        }

現在、私はnullポインタを取得していますBitmap.createBitmap(view.getDrawingCache());。ディメンションで試してみましたが、まだ成功していません。誰かが私が間違っていることを教えてもらえますか? または、テキストビューから描画可能にする別の方法がある場合は?
よろしくお願いします、コスミン。

4

1 に答える 1

0

あなたの質問はあまり明確ではありません...

オブジェクトを常に同じ場所に配置し、ユーザーがマップに触れた場所とは別にオブジェクトを表示したい場合は、この回答で示したように、マップビューがあるのと同じレイアウトにオブジェクトを追加します。アニメーションメニューボタンMapViewの上に配置し、表示/非表示にし、必要に応じてカウンターを変更します。

他に何かしたい場合は、質問にさらに情報を追加してください。

幸運を。

于 2012-10-07T20:37:09.103 に答える