我有一个存储在sqlite数据库中的纬度和经度坐标。我试图通过光标检索这些并将它们全部放在地图上。我正在努力,但我是新手,需要一些帮助。这是我到目前为止所做的:
public class allmapactivity extends MapActivity {
MapController mControl;
GeoPoint GeoP;
MapView mapV;
private SQLiteAdapter mySQLiteAdapter;
Cursor cursor;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
mapV = (MapView) findViewById(R.id.mapview);
mapV.displayZoomControls(true);
mapV.setBuiltInZoomControls(true);
mapV.setSatellite(false);
List<Overlay> mapOverlays = mapV.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.pin);
HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable, this);
cursor = mySQLiteAdapter.queueAll5();
GeoPoint point = new GeoPoint((int) (Double.valueOf(SQLiteAdapter.KEY_CONTENT11) *1E6),(int) (Double.valueOf(SQLiteAdapter.KEY_CONTENT12) *1E6));
OverlayItem overlayitem = new OverlayItem(point, "Test", "Test");
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
当我输入我的geopoint的静态数字时,所有这些代码都有效,除非我尝试从我的光标添加数据时强制关闭。任何帮助都会很棒!!
答案 0 :(得分:0)
由于您提供的代码不从光标中获取数据,因此很难判断出现了什么问题。
一般来说,在从任何光标读取之前,您应始终调用以下代码。
cursor.moveToFirst();
这是因为不能保证指向NOT NULL的行。
如果您可以提供更多代码和/或错误消息,则可能更容易确定出现了什么问题。