web-dev-qa-db-fra.com

Android Google Map v2 - Démarrage de l'activité en cliquant sur les informations du marqueur

J'ai vu que les gens rencontrent beaucoup de difficultés avec cette tâche spécifique et j'ai également besoin d'aide.

J'ai créé avec succès des marqueurs sur une carte en utilisant le code par défaut fourni par Google. Mais maintenant je veux pouvoir cliquer sur "InfoWindow" pour ouvrir une nouvelle activité afin que je puisse ajouter plus d'informations.

Quelqu'un connaît-il la meilleure façon de procéder?

Si vous pouvez répondre à ceci veuillez mettre un code ou un exemple. Toute aide serait très appréciée!

18
user1977908

ajoutez ceci à votre code

 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