2

地図上のマーカーをタップしたときにダイアログボックスを表示したい。地図上にマーカーを設定することはできますが、マークされた場所に関する説明が含まれているはずのダイアログボックスをポップアップできません。onTouchEvent()をオーバーライドしようとしましたが、正確なポイントをタップしたときにのみボックスが表示されました。しかし、私が欲しいのは、マーカー内の任意のポイントに触れたときにダイアログボックスを表示することです。誰かplsは私を助けることができますか?

ありがとう。

4

3 に答える 3

2

この場合、オーバーライドするだけの ItemizedOverlay クラスを拡張します。 onTap

public class PlaceItemizedOverlay extends ItemizedOverlay<OverlayItem> {



    @Override
    protected boolean onTap(final int index) {


      final OverlayItem oi = mOverlays.get(index);
      AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
      dialog.setTitle("your title");
      dialog.setMessage("youmessage");
      dialog.setNegativeButton("Cancel", null);
      dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int id) {

            }
      });
      dialog.show();
      return true;

      }

}
于 2012-02-02T03:42:27.647 に答える
1

MapViewBalloons プロジェクトを使用または参照できます

サンプルプロジェクト

于 2012-02-02T05:20:30.390 に答える
0

Handler クラスを使用して、このための AlertDialog を表示できます。ここで私の答えを確認してください。

于 2012-02-02T03:38:42.510 に答える