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.
À partir de ce marqueur de base avec titre et extrait:
http://mobisys.in/blog/wp-content/uploads/2013/04/Screenshot_2013-04-04-17-19-581.png
Puis cliquer dessus et ouvrir une activité vide:
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!
ajoutez ceci à votre code
Mymap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Intent intent = new Intent(MapActivity.this,OtherActivity.class);
startActivity(intent);
}
});
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;
}
});
}