このコードを使用して、Googleマップにマーカーを描画しています(画面に表示されていないマーカーを非表示にします)
for (MyMapPointModel item : items) {
// If the item is within the the bounds of the screen
if (bounds.contains(item.getLatLng())) {
// If the item isn't already being displayed
if (!visibleMarkers.containsKey(item.getId())) {
// Add the Marker to the Map and keep track of it with
// the HashMap
// getMarkerForItem just returns a MarkerOptions object
customMarker = getMap().addMarker(getMarkerForItem(item));
visibleMarkers.put(item.getId(), customMarker);
drawMarker(item.getLatLng(), item.getThumbUri(), item.getId());
}
} else { // If the marker is off screen
// If the course was previously on screen
if (visibleMarkers.containsKey(item.getId())) {
// 1. Remove the Marker from the GoogleMap
visibleMarkers.get(item.getId()).remove();
// 2. Remove the reference to the Marker from the
// HashMap
visibleMarkers.remove(item.getId());
}
}
}
ハッシュマップに項目 ID を持つマーカーを保存しています。テープ マーカーの詳細を含むアクティビティを呼び出したいのですが、onMarkerClick リスナーから項目 ID を取得できません (彼はマーカー オブジェクトのみを提供します)。私は何かを逃していますか?誰かがより良いアイデアを持っていますか?