Я хочу отслеживать маркеры на карте. Когда щелкнут конкретный маркер, мне нужно отобразить информацию относительно этого маркера.Проблема с HashMap <String, Marker> in android
Я использую одну переменную HashMap, чтобы отслеживать маркеры, добавленные на карту.
for (int i = 0; i <= PropertyStub.size() - 1; i++) {
final LatLng MeanLatLng = new LatLng(PropertyStub.get(i).Latitude,
PropertyStub.get(i).Longitude);
if (!visibleMarkers.containsKey(PropertyStub.get(i).PropertyID)) {
visibleMarkers
.put(PropertyStub.get(i).PropertyID,
this.map.addMarker(new MarkerOptions()
.position(MeanLatLng)
.title("Property")
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.pink_outside_marker))));
}
}
Когда я нажал на конкретных маркерах, мне нужно значение PropertyID этого щелкнуло маркер,
public boolean onMarkerClick(Marker marker) {
marker.showInfoWindow();
tvPropertyID.setText("" + visibleMarkers.get(marker));
return true;
}
, но я получаю «visibleMarkers.get (маркер)» нуль. Пустая строка отображается в окне infowindow. Где я делаю неправильно? Пожалуйста, поправьте меня. Пожалуйста, предоставьте мне полезные ссылки.
Спасибо заранее!
'visibleMarkers.get (marker)' - не ваши ключи Строки? Разве это не похоже на 'visibleMarkers.get (PropertyID)'? Предполагая, что PropertyID является строкой –