я получил широту и долготу из базы данных Sqlite для использования в MapOverlay, но когда я начинаю свою деятельность на карте, появляется только черный экран, исключений нет.вот код моего класса карты.
public class mapactivty extends MapActivity {
MapController mc;
private DbManager myAdapter;
//SQLiteDatabase db=null;
Cursor cursor;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapview);
try{
MapView mapView = (MapView) findViewById(R.id.mapview1);
mapView.setBuiltInZoomControls(true);
// ((SQLiteOpenHelper) myAdapter).
myAdapter = new DbManager(this);
cursor = myAdapter.getAll_Place();
//SQLiteDatabase db= db.getWritableDatabase();
//String[] from = new String[]{/*DbManager.PlaceID,*/ DbManager. PlaceName, DbManager.Placelongitude, DbManager.Placelititude, DbManager.Placealtitude};
cursor.moveToFirst();
while (cursor.isAfterLast() == false) {
int latitude = (int) (cursor.getDouble(cursor
.getColumnIndex("Place_liti")) * 1E6);
int longitude = (int) (cursor.getDouble(cursor
.getColumnIndex("Place_longi")) * 1E6);
GeoPoint point = new GeoPoint(latitude,longitude);
mapView.getController().setZoom(17);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.bubble);
HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable, null);
OverlayItem overlayitem = new OverlayItem(point, "city", "item");
itemizedoverlay.addOverlay(overlayitem);
//itemizedoverlay.addOverlay(overlayitem2);
mapOverlays.add(itemizedoverlay);
}
}
catch(Exception ex)
{
ex.toString();}
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
здесь мой подкласс.
public class HelloItemizedOverlay extends ItemizedOverlay<OverlayItem>
{
MapView Map;
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
private Context mContext;
public HelloItemizedOverlay(Drawable defaultMarker, Context context)
{
super(boundCenterBottom(defaultMarker));
mContext = context;
}
public void addOverlay(OverlayItem overlay)
{
mOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i)
{
return mOverlays.get(i);
}
@Override
public int size()
{
return mOverlays.size();
}
}