Ich arbeite an benutzerdefinierten Marker auf Google-Karte, aber ich habe nur einen Zweifel, warum Liste der Marker Details nicht in GoogleMap.InfoWindowAdapter kommen, denn wenn ich die Daten auf Standard-Marker zu diesem Zeitpunkt alle Daten zeigen perfekt zeigt.Warum in GoogleMap.InfoWindowAdapter Liste der Marker nicht funktioniert?
for (int i = 0; i < mStringLocation.getMerchants().size(); i++) {
double latitude = mStringLocation.getMerchants().get(i).getLocation().getLatitude();
double longitude = mStringLocation.getMerchants().get(i).getLocation().getLongitude();
final String name = mStringLocation.getMerchants().get(i).getName();
LatLng latLng1 = new LatLng(latitude, longitude);
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_icon));
markerOptions.position(latLng1);
//markerOptions.title(name);
map.addMarker(markerOptions);
map.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
View view = getActivity().getLayoutInflater().inflate(R.layout.map_marker_layout, null);
mNameTxt = (TextView) view.findViewById(R.id.name_txt);
Toast.makeText(getActivity(), "" + name, Toast.LENGTH_SHORT).show();
mNameTxt.setText(name);
return view;
}
});
map.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Toast.makeText(getActivity(), "" + name, Toast.LENGTH_SHORT).show();
}
});
}
Aber wenn ich zu diesem Zeitpunkt Benutzerdefinierte Marker verwenden es, wenn Sie auf einen des Markers tippen, dann wird es den letzten Indexwert des Arrays zeigen.
Bitte gehen Sie freundlich meine Post durch und lassen Sie mich wissen, wenn Sie irgendeine Lösung haben.
Sie haben keinen Code in Ihrer Frage, der zeigt, "wenn Sie auf einen der Marker tippen, dann wird der letzte Indexwert des Arrays angezeigt". – CommonsWare
hey danke nothing simple on default marker wenn du auf einen Gegenstand tippst, wird es die Details anzeigen, aber wenn ich in GoogleMap.InfoWindowAdapter tue, wenn Sie auf einen der Artikel tippen, wird es den letzten Wert zeigen –
Sie können eine einfachere Zeit bekommen Hilfe, wenn Sie Ihre Frage bearbeiten und den Code für "wenn Sie auf einen der Marker tippen, dann zeigt es den letzten Indexwert des Arrays". Ich würde vermuten, dass dies Ihre 'onInfoWindowClick()' Methode Ihres 'OnInfoWindowClickListener' ist. Sie können eine Beispielmethode namens 'onInfoWindowClick()' in [dieser Aktivität] sehen (https://github.com/commonsguy/cw-omnibus/blob/master/MapsV2/Popups/app/src/main/java/com/commonsware /android/mapsv2/popups/MainActivity.java) von [dieser Beispielanwendung] (https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2/Popups). – CommonsWare