新しく作成された OverlayItem のデータが、マップに既に表示されている OverlayItems のリストに既に存在するかどうかを確認する必要があります。OverlayItem のデータが既に存在するかどうかを確認するコードを作成しましたが、エラーが発生しています。Overlay から OverlayItem を抽出するにはどうすればよいですか?
私の現在のコードは次のようなものです:
//where mapOverlays = mapView.getOverlays() and overlayItem is the newly created overlayItem
public boolean isExisting(List<Overlays> mapOverlays, OverlayItem overlayItem)
{
ItemizedOverlay overlay;
OverlayItem itemToCompare;
for(int i = 0; i < mapOverlays.size(); i++)
{
overlay = (ItemizedOverlay)mapOverlays; //I am getting an error here: java.util.Collections$SynchronizedRandomAccessList (from e.getMessage()). The stack trace does not contain any specific exception but only the trace of the error pointing to this line.
existingOverlayItem = overlay.getItem(i);
if(itemToCompare.getPoint().equals(overlayItem.getPoint())
&& itemToCompare.getSnippet().equals(overlayItem.getSnippet())
&& itemToCompare.getTitle().equals(overlayItem.getTitle()))
return true; //if all data are the same
}
return false;
}