I\'m trying to set onInfoWindowClickListener for each marker that hit the related API according to the POJO id. That\'s what I found for settin
I have one way. Just create HashMap
with both your main Marker
and another one with POJO Class
and get back your POJO Class
based on Particular Marker
clicked on getInfoContents(.....)
Try to call setTag() method on map marker, not on the MarkerOptions object for.e.g.,
private void addMk(LatLng latLng, String title, String snips,String tagId) {
MarkerOptions options = new MarkerOptions()
.position(latLng)
.title(title)
.snippet(snips);
googleMap //Google googleMap object for map reference
.addMarker(options)
.setTag(tagId);
}
googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
// TODO Auto-generated method stub
String tagId= String.valueOf(marker.getTag());
Log.d(TAG, "onInfoWindowClick: TAG_ID "+tagId);
}
});
Hope, this works!
Now You can do like this
Update your google play service version to
com.google.android.gms:play-services:9.4.0
Marker marker=mMap.addmarker(new MarkerOptions(LatLang));
// set object as tag
marker.setTag(your object)
// to retrieve the marker
marker.getTag();// Type cast to your object type;