Android Google Maps API v2 маркеры
Есть карта, на которую ставятся маркеры из БД. Но появляются они на ней, только после срабатывания onResume()
в активности. Ниже метод, который расставляет маркеры.
public void place(){
for (int i = 0; i<user_sex.length; i++){
//someone = new MarkerOptions().position(new LatLng(xx[i], yy[i])).title("Вы здесь!");
if (user_sex[i]==1){
map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE)));
list.put(new LatLng(xx[i],yy[i]), i);
}
if (user_sex[i]==2){
//m[i]=map.addMarker(new MarkerOptions().title("Посмотреть").position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
list.put(new LatLng(xx[i],yy[i]), i);
}else{
if(xx[i]!=0 && yy[i]!=0 && (user_sex[i] < 1)){
//m[i]=map.addMarker(new MarkerOptions().title("Посмотреть").position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
list.put(new LatLng(xx[i],yy[i]), i);
}
}
//map.addMarker(someone);
}
}
А вот в этом случае я могу их видеть без перезагрузки активности:
CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(x,y)).zoom(16).build();
map.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
place();
this.onResume();
Но это решение не позволяет зумить карту и перемещать камеру. Есть решение моей проблемы? Вот мой метод onResume()
:
@Override
protected void onResume(){
super.onResume();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
1000 * 10, 10, locationListener);
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 1000 * 10, 10,
locationListener);
checkEnabled();
}
Источник: Stack Overflow на русском