Get Geopoints from SQlite DB
I created an SQlite database to store on it all latitudes and longitudes to display them in map. For the add of the values i didn't encouter any problem, i used this code:
CoordBD CoordBd = new CoordBD(this);
Coordo coordo = new Coordo(36.869686,10.315642 );
CoordBd.open();
CoordBd.insertCoordo(coordo);
But i don't know how to insert them one by one in map, i usually/manually make this:
GeoPoint point2 = new GeoPoint(microdegrees(36.86774),microdegrees(10.305302));
pinOverlay.addPoint(point2);
How to browse all the database and add all the Geopoints automatically? Thank you. EDIT: Is that true?
CoordBD CoordBd = new CoordBD(this);
CoordBd.open();
Coordo coordo = new Coordo(36.869686,10.315642 );
CoordBd.insertCoordo(coordo);
CoordBd.close();
maMap = (MapView)findViewById(R.id.myGmap);
maMap.setBuiltInZoomControls(true);
ItemizedOverlayPerso pinOverlay = new ItemizedOverlayPerso(getResources().getDrawable(R.drawable.marker));
String[] result_columns = new String[] {COL_LATI, COL_LONGI};
Cursor cur = db.query(true, TABLE_COORD, result_columns,
null, null, null, null, null, null);
cur.moveToFirst();
while (cur.isAfterLast() == false) {
int latitude = cur.getColumnIndex("latitude");
int longitude = cur.getColumnIndex("longitude");
GeoPoint point = new GeoPoint(microdegrees(latitude),microdegrees(longitude));
pinOverlay.addPoin开发者_StackOverflowt(point);
cur.moveToNext();
}
cur.close();
Quoting myself from my reply to you on the android-developers
Google Group, since you elected to cross-post:
Pass a
Cursor
to yourItemizedOverlay
that contains your coordinates, retrieved from your databaseImplement
size()
in yourItemizedOverlay
to returngetCount()
from theCursor
Implement
getItem()
in yourItemizedOverlay
tomoveToPosition()
on theCursor
, read out the latitude and longitude, convert to microdegrees, create aGeoPoint
, and return itUse the
ItemizedOverlay
on yourMapView
精彩评论