我尝试膨胀遵循这些例子
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);
}