Обработка изменений ориентации в картах baidu

Как правильно обрабатывать изменения ориентации в Baidu Maps?

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

1 ответ

Решение

Нормальный способ сохранить состояние onSaveInstanceState(...) Перезвоните. Я написал этот код здесь:

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putParcelable("map", mapView.getMap().getMapStatus());
}

Если вы хотите восстановить данные, попробуйте этот пример (взят из фрагмента):

@Nullable
@Override
public synchronized View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.baido_map, container, false);
    mapView = (MapView) view.findViewById(R.id.baido_map);

    if(savedInstanceState != null) {
        mapView.getMap().setMapStatus(MapStatusUpdateFactory.newMapStatus(savedInstanceState.getParcelable("map")));
    }

    return view;
}
Другие вопросы по тегам