GoogleMap animateCamera с границами не работает, когда клавиатура открыта - PullRequest
0 голосов
/ 18 марта 2020
private void setBounds() {
    try {
        LatLngBounds.Builder builder = LatLngBounds.builder();
        if (mAdapter != null && mAdapter.dataSet != null && mAdapter.dataSet.size() > 0) {
            for (ClusterItem item : mAdapter.dataSet) {
                builder.include(item.getPosition());
            }
        } else {
            /*set destination location bounds*/
            LatLng destLatLng = getDestLatLng();
            if (destLatLng != null) {
                googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(destLatLng, 10));
                return;
            }
        }


        final LatLngBounds bounds = builder.build();
        googleMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 300));
    } catch (Exception e) {
        e.printStackTrace();
    }
}

googleMap.animateCamera() используется для работы:

  • при закрытой клавиатуре.
  • при наличии только одной координаты:

    googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(destLatLng,10));

имейте в виду, что приведенная выше строка кода работает, даже если клавиатура открыта.

Проблема возникает, когда я использовал для анимации камеры с границами, когда клавиатура открыта:

final LatLngBounds bounds = builder.build(); googleMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 300));

Я не знаю почему это не работает. любая помощь будет оценена. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...