samedi 5 décembre 2015

Android - Google Maps - fail adding makers to clusters from DB

I'm new to Android programming :).

I'm trying to add some items into a ClusterManager, after reading them from a SQLite DB, but for some reasons they refuse to be added.

We have the following situation:
- when I try to manually load them, like downside, they do load:

mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
        if (mMap != null) {
            mClusterManager = new ClusterManager<Place>(this, mMap);
            mMap.setOnCameraChangeListener(mClusterManager);

            mClusterManager.addItem(new Place(51.517399, -0.177480));
            mClusterManager.addItem(new Place(51.509899, -0.134180));
            mClusterManager.addItem(new Place(51.495708, -0.144370));
            mClusterManager.addItem(new Place(51.496112, -0.144162));
            mClusterManager.addItem(new Place(51.512458, -0.118644));
            mClusterManager.addItem(new Place(51.518600, -0.081300));
            mClusterManager.addItem(new Place(51.530449, -0.125480));
            mClusterManager.addItem(new Place(51.513008, -0.088430));
            mClusterManager.addItem(new Place(51.505001, -0.086000));
        }

- but when I try to load them from a database, like this:

MyDBHandler myDbHelper = new MyDBHandler(MapsActivity.this);

        try {
            myDbHelper.createDataBase();
        } catch (IOException ioe) {
            throw new Error("Unable to create database");
        }
        try {
            myDbHelper.openDataBase();
        } catch (SQLException sqle) {
            throw sqle;
        }

        mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
        mClusterManager = new ClusterManager<Place>(this, mMap);
        mMap.setOnCameraChangeListener(mClusterManager);

        c = myDbHelper.query("MARKERS", null, null, null, null, null, null);
        if (c.moveToFirst()) {
            do {
                mClusterManager.addItem(new Place( c.getDouble(3), c.getDouble(4) ));
            } while (c.moveToNext());

        }

Before trying to make clusters out of the markers, they did load from the DB. Any help would be appreciated.

Aucun commentaire:

Enregistrer un commentaire