Добавьте наложение на сохраненную Широту и Долготу в Базе данных SQLite - PullRequest
0 голосов
/ 10 ноября 2011

я получил широту и долготу из базы данных 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();
 }
}
...