2013-01-14 3 views

Antwort

16

Ja.

Um festzustellen, welche Marker ausgewählt wird, eine OnInfoWindowClickedListener zu Ihrem GoogleMap hinzufügen:

//mMap is an instance of GoogleMap 
mMap.setOnInfoWindowClickListener(getInfoWindowClickListener()); 

Aufschalten der onInfoWindowClicked() -Methode innerhalb des OnInfoWindowClickListener:

public OnInfoWindowClickListener getInfoWindowClickListener() 
{ 
    return new OnInfoWindowClickListener() 
    {  
     @Override 
     public void onInfoWindowClick(Marker marker) 
     { 
      Toast.makeText(getApplicationContext(), "Clicked a window with title..." + marker.getTitle(), Toast.LENGTH_SHORT).show(); 
     } 
    };  
} 

Und halten Sie den Überblick über die ausgewählten Marker vielleicht mit einer Instanzvariable.

Um einen Marker programmatisch auswählen, erhalten Sie eine Liste aller Markierungen halten müssen, dann den Griff bekommen ein und rufen showInfoWindow(), ähnlich wie dies:

//markerList is just a list keeping track of all the markers you've added 
//to the map so far, which means you'll have to add each marker to this 
//list as you put it on the map 
Marker marker = this.markerList.get(someObjectYoureShowingAMarkerFor.getId()); 

if(marker != null) 
{ 
    marker.showInfoWindow(); 
} 
+0

Nur was ich brauchte, danke! – noisecapella

1

Sie die verwenden können, OnMarkerClickListener.

googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { 
     @Override 
     public boolean onMarkerClick(Marker marker) { 
      Toast.makeText(getApplicationContext(), "Clicked a marker with title..." + marker.getTitle(), Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
    });