1. ホーム
  2. android

[解決済み] Google Maps API v2: マーカーをクリックできるようにするには?

2022-05-31 18:29:29

質問

Android Google Maps API v2 のマーカーをクリックできるようにして、オプション付きのメニューを表示するか、新しいアクティビティを開始させるにはどうしたらよいでしょうか。私のアプリでは、マーカーを現在 "newb" メソッドで作成したと思います。残りの必要なコードとリンクできるように、名前またはメソッドを割り当てませんでした。

googleMap.addMarker(new MarkerOptions()
        .position(latLng)
        .title("My Spot")
        .snippet("This is my spot!")
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));

もし、これに答えるなら、マーカーがユニークな名前で紹介され、新しいアクティビティを開くためにクリック可能に設定されているサンプルコードを含めてください。

どのように解決するのですか?

Google Android Maps Api v2 のマーカーはすべてクリック可能です。マーカーに追加のプロパティを設定する必要はありません。 必要なことは、googleMapにマーカークリックのコールバックを登録し、コールバック内でクリックを処理することです。

public class MarkerDemoActivity extends android.support.v4.app.FragmentActivity
    implements OnMarkerClickListener
{
    private Marker myMarker;    

    private void setUpMap()
    {
        .......
        googleMap.setOnMarkerClickListener(this);

        myMarker = googleMap.addMarker(new MarkerOptions()
                    .position(latLng)
                    .title("My Spot")
                    .snippet("This is my spot!")
                    .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
        ......
    }

    @Override
    public boolean onMarkerClick(final Marker marker) {

        if (marker.equals(myMarker)) 
        {
            //handle click here
        }
    }
}

これは良い マーカーカスタマイズについてのgoogleのガイドです。