0

アプリケーションが必要な場合は、MapviewがImageViewのように機能する必要があります。

デフォルトの動作を持たない(ユーザーはそれを移動することはできません)小さな地図であり、クリックしたときにGoogleマップを起動する必要があります。

私はこのようなコードを使おうとしました:

mapView.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_VIEW,
            Uri.parse("geo:<lat>,<long>?q=<lat>,<long>(Label+Name)"));
        startActivity(intent);
    }
});

しかし、OnClickListenerが呼び出されることはないようで、マップビューのスクロールを無効にする方法がわかりません。

助けてくれてありがとう。

編集:私はすでにclickable = falseを使おうとしましたが、マップが「無効」になり、ユーザーが移動できないため、これは良いことですが、クリックするとGMapを起動できません...

4

4 に答える 4

2

設定clickable(false)すると が使えなくなりonClick、設定するとフォーカスがclickable(true)移ります。onTouchそのため、マップ ビューがクリックできない場合はオーバーライドonTouchして内部を確認し、クリックできない場合は => アクティビティを開始します。

于 2012-10-15T13:48:44.710 に答える
2

Google マップを起動するには onTouchListener を使用します。私はこのように試しました:

mapView.setOnTouchListener(new OnTouchListener() {

        public boolean onTouch(View v, MotionEvent event) {
            Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
            startActivity(intent);
            return false;
        }
    });

ここで、NextActivity は MapActivity を拡張する別のアクティビティです。

于 2012-10-15T13:51:09.903 に答える
-2

android:clickable="false"あなたのxmlファイルで作ることはあなたを助けることができます

于 2012-10-15T13:30:12.180 に答える