我正在“Göteborg”中取出所有商店,并在我的mapView上添加一个标记。 问题在于,使用此代码,我的标记会在非洲聚集。
我已经检查过坐标是否正确所以不是。
任何人都知道问题是什么?
df = ((ClassHandler)getApplication()).getStoreDatabadeFacade();
Cursor plotstore = df.getAllStorePos("Göteborg");
startManagingCursor(plotstore);
plotstore.moveToFirst();
while(plotstore.isAfterLast() == false){
GeoPoint addStore = new GeoPoint(plotstore.getColumnIndex("lat"), plotstore.getColumnIndex("long"));
//OverlayItem overlayitem = new OverlayItem(addStore, plotstore.getString(plotstore.getColumnIndex("_ID")), plotstore.getString(plotstore.getColumnIndex("ADDRESS")));
OverlayItem overlayitem = new OverlayItem(addStore, plotstore.getString(plotstore.getColumnIndex("_id")), plotstore.getString(plotstore.getColumnIndex("address")));
itemizedStoreOverlay.addOverlay(overlayitem);
storeOverlays.add(itemizedStoreOverlay);
plotstore.moveToNext();
}
答案 0 :(得分:0)
getColumnIndex
是否只返回cursor
内的列索引,而不是该索引处的值?您似乎正在为id
:
plotstore.getString(plotstore.getColumnIndex("_id"))
但不适用于lat
和long
:
plotstore.getColumnIndex("lat")
尝试将此更改(以及"long"
)更改为:
plotstore.getInt(plotstore.getColumnIndex("lat"))