Map size can't be 0

305
02 мая 2017, 05:08

В своем приложении использую google maps, но при переходе между активностями, бывает вылетает приложение со следующей ошибкой.

04-30 15:53:19.956 4980-4980/com.vm.sai E/UncaughtException: java.lang.IllegalStateException: Error using newLatLngBounds(LatLngBounds, int): Map size can't be 0. Most likely, layout has not yet occured for the map view. Either wait until layout has occurred or use newLatLngBounds(LatLngBounds, int, int, int) which allows you to specify the map's dimensions.

и указывает на ошибку в данной строке:

 map.moveCamera(cu);

Данную строчку я использую следующим образом для первоначального приближения:

int padding = 150; // offset from edges of the map in pixels
    CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);
    map.moveCamera(cu);

Подскажите как подправить, чтоб приложение не вылетало так уж часто.

Класс MapActivity:

public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {
GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);
    createMapView();
}

private void createMapView() {
    MapFragment mapFragment = (MapFragment) getFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
    map.getUiSettings().setZoomControlsEnabled(true);
    LatLngBounds.Builder builder = new LatLngBounds.Builder();
    Marker marker = map.addMarker(new MarkerOptions()
            .position(new LatLng(47.045029, 28.861427))
            .title("Marker")
            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
            .snippet("Population: 4,137,400"));
    Marker marker2 = map.addMarker(new MarkerOptions()
            .position(new LatLng(47.000327, 28.867950))
            .title("Marker"));
    Marker marker3 = map.addMarker(new MarkerOptions()
            .position(new LatLng(47.024204, 28.889236))
            .title("Marker"));
    builder.include(marker.getPosition());
    builder.include(marker2.getPosition());
    builder.include(marker3.getPosition());
    LatLngBounds bounds = builder.build();
    int padding = 150; // offset from edges of the map in pixels
    CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);
    map.moveCamera(cu);
}
}
READ ALSO
Загрузить картинку не получается

Загрузить картинку не получается

Ребята, мне нужно сделать следующее: Если у пользователя нету своей аватарки,то нужно поставить ему дефолтную картинкуНо у меня это не получается

225
Google переводчик - как на java составить запрос на перевод слова?

Google переводчик - как на java составить запрос на перевод слова?

Есть английское словоДля него нужно получить перевод через Google переводчик

741
Форма отправки сообщения gmail

Форма отправки сообщения gmail

В моём navigationDrawer есть некий список, по которому я перехожу в активитиСейчас решил сделать так, чтоб при переходе в активность, меня сразу перебрасывало...

298