web-dev-qa-db-ja.com

Android Google Map v2-マーカーinfoWindowをクリックするとアクティビティが開始されます

私は人々がこの特定の仕事で多くの困難を見つけていることを見てきました、そして私は同様に助けを必要としています。

Googleが提供するデフォルトのコードを使用して、地図上にマーカーを正常に作成しました。しかし、「InfoWindow」をクリックして新しいアクティビティを開き、さらに情報を追加できるようにしたいと思います。

誰かがこれを行うための最良の方法を知っていますか?

あなたがこれに答えることができるならいくつかのコードまたは例を載せてください。どんな助けも大歓迎です!

18
user1977908

これをコードに追加します

 Mymap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
            @Override
            public void onInfoWindowClick(Marker marker) {
               Intent intent = new Intent(MapActivity.this,OtherActivity.class);
               startActivity(intent);


            }
        });
56
Quickcoding
This method works even well with multiple markers. get the title of the marker using marker.getTitle() and Starts the activity based on which marker you clicked. 

public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;
        // Add a marker in Sydney and move the camera
        LatLng chennai = new LatLng(12.9671, 80.2593);
        mMap.addMarker(new MarkerOptions().position(chennai).title("Chennai"));

        LatLng perungudi = new LatLng(12.97, 80.25);
        mMap.addMarker(new MarkerOptions().position(perungudi).title("Perungudi"));

        LatLng pallikarnai = new LatLng(12.9377, 80.2154);
        mMap.addMarker(new MarkerOptions().position(pallikarnai).title("Pallikarnai"));

        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(chennai,12));
        mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker marker) {
                if (marker.getTitle().equals("Chennai")){
                    Toast.makeText(MapsActivity.this, "Clicked"+marker.getTitle(), Toast.LENGTH_SHORT).show();
                }
                return false;
            }
        });

    }
1
Jarin Rocks