首先,我将标记添加到叠加层:
private MapOverlay itemizedOverlay;
Cursor items = mDbHelper.fetchAllItems();
startManagingCursor(items);
for (int i = 0; i < items.getCount(); i++) {
items.moveToPosition(i);
OverlayItem overlayItem = new OverlayItem(markerPoint, "", "");
itemizedOverlay.addOverlay(overlayItem);
}
mapOverlays.add(itemizedOverlay);
现在我需要更新标记(更改drawable)。 我可以这样做:
Cursor items = mDbHelper.fetchAllItems();
startManagingCursor(items);
for (int i = 0; i < items.getCount(); i++) {
items.moveToPosition(i);
itemizedOverlay.getItem(i).setMarker();
}
mapOverlays.add(itemizedOverlay);
itemizedOverlay.getItem(i)
总是以相同的顺序返回项目吗?
不添加/删除数据库中的记录。
答案 0 :(得分:1)
itemizedOverlay.getItem(i)是否总是以相同的顺序返回项目?
这取决于你。您是实施getItem()
的人。