地図上のマーカーをタップしたときにダイアログボックスを表示したい。地図上にマーカーを設定することはできますが、マークされた場所に関する説明が含まれているはずのダイアログボックスをポップアップできません。onTouchEvent()をオーバーライドしようとしましたが、正確なポイントをタップしたときにのみボックスが表示されました。しかし、私が欲しいのは、マーカー内の任意のポイントに触れたときにダイアログボックスを表示することです。誰かplsは私を助けることができますか?
ありがとう。
この場合、オーバーライドするだけの 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;
}
}
MapViewBalloons プロジェクトを使用または参照できます
Handler クラスを使用して、このための AlertDialog を表示できます。ここで私の答えを確認してください。