How can i query lat/long value from sqlite database and show on Google map
How can i query lat/long value from database and display the marker on that location? this is my code, it works fine when i set lat/long
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.branchmap);
mapView = (MapView) findViewById(R.id.mapView1);
mc = mapView.getController();
String[] coordinates = {"13.694317","100.601592"};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
p = new GeoPoint(
(int) (lat * 1E6),
(int) (lng * 1E6));
mc.animateTo(p);
mc.setZoom(17);
mapOverlays = mapView.getOverlays();
drawable = this.getResources().getDrawable(R.drawable.mark1);
itemizedOverlay = new HelloItemizedOverlay(drawable);
OverlayItem overlayitem = new OverlayItem(p, "", "");
itemizedOverlay.addOverlay(overlayitem);
ma开发者_C百科pOverlays.add(itemizedOverlay);
but when i want to query it doesn't work, where should i put this part of code
try {
ChannelDatabaseHelper dbHelper = new ChannelDatabaseHelper(this.getApplicationContext());
newDB = dbHelper.getWritableDatabase();
Cursor c1 = newDB.rawQuery("SELECT lat,long FROM " +
tableName , null);
if (c1 != null ) {
if (c1.moveToFirst()) {
do {
latitude =Integer.parseInt((c1.getString(c1.getColumnIndex("lat"))));
longitude = Integer.parseInt((c1.getString(c1.getColumnIndex("long"))));
p = new GeoPoint(
(int)(latitude *1E6 ),
(int)(longitude *1E6 ));
}while (c1.moveToNext());
}
}
try {
ChannelDatabaseHelper dbHelper = new ChannelDatabaseHelper(this.getApplicationContext());
newDB = dbHelper.getWritableDatabase();
Cursor c1 = newDB.rawQuery("SELECT lat,long FROM " +
tableName , null);
if (c1 != null ) {
if (c1.moveToFirst()) {
do {
latitude =Integer.parseDouble((c1.getString(c1.getColumnIndex("lat"))));
longitude = Integer.parseDouble((c1.getString(c1.getColumnIndex("long"))));
p = new GeoPoint(
(int)(latitude *1E6 ),
(int)(longitude *1E6 ));
//Write a code to display this point on google-map
}while (c1.moveToNext());
}
}
Try this code
精彩评论