如何从Cursor SQLITE中添加addmarker?

时间:2016-02-01 20:28:15

标签: android google-maps cursor

我尝试膨胀遵循这些例子

public void onMapReady(GoogleMap googleMap) {
    cursor = mb.listar();
    mMap = googleMap;
    // Add a marker in Sydney and move the camera
    //LatLng sydney = new LatLng(-34, 151);
   // mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    //mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}

我的方法是

CajeroDAO

public Cursor getAll() throws SQLException {
    Cursor c = MiBD.getDB().query(true, CAJEROS_TABLE, CAMPOS_CAJEROS, null, null, null, null, null, null);
    return c;
}

MiCajeroOperacional

public Cursor listar() {
    return cajero.getAll();
}

然后,当我为每个人添加光标标记时?

解决我的问题 在这里发布我的中心解决方案并从光标添加标记,这很容易快速解决。

@Override
    public void onMapReady(GoogleMap googleMap) {
        cursor = mb.listar();
        mMap = googleMap;
        LatLng mark = null;

        List<Marker> markersList = new ArrayList<Marker>();
        int i = 0;
        while (cursor.moveToNext()) {
            double lat = cursor.getDouble(cursor.getColumnIndex("lat"));
            double lng = cursor.getDouble(cursor.getColumnIndex("lng"));
            mark = new LatLng(lat, lng);
            Marker markCajero = mMap.addMarker(new MarkerOptions().position(mark).title("Sucursal Nº" + i).snippet(cursor.getString(cursor.getColumnIndex("direccion"))));
            // mMap.moveCamera(CameraUpdateFactory.newLatLng(mark), 15);
            markersList.add(markCajero);
            i++;
        }
        cursor.close();
        builder = new LatLngBounds.Builder();
        for (Marker m : markersList) {
            builder.include(m.getPosition());
        }
        int padding = 50;
        LatLngBounds bounds = builder.build();
        cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);
        mMap.moveCamera(cu);

    }

0 个答案:

没有答案