Подтвердить что ты не робот

Всегда показывать элементы управления увеличением на MapView

Можно ли всегда показывать элементы управления масштабированием в MapView? Я добавил элементы управления масштабированием, используя

map=(MapView)findViewById(R.id.map);
map.setBuiltInZoomControls(true);

но кнопки зуммирования исчезают и исчезают. Я хочу, чтобы они всегда были видны.

4b9b3361

Ответ 1

Решил это, поставив свои собственные ZoomControls в мой макет xml:

<ZoomControls android:id="@+id/zoomcontrols"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

а затем настройте onClickListeners для обработки масштабирования:

    zoomControls = (ZoomControls) findViewById(R.id.zoomcontrols);
    zoomControls.setOnZoomInClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mapController.zoomIn();
        }
    });
    zoomControls.setOnZoomOutClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mapController.zoomOut();
        }
    });

Ответ 2

Решение для запусков работает, но вы теряете встроенные функции, когда кнопка отключается, когда вы увеличили или полностью увеличили ее. Вы можете сохранить эту функциональность, используя вместо этого следующее:

localMapView.getZoomButtonsController().setAutoDismissed(false);

Однако это не позволяет размещать элементы управления, которые вы хотите в панели, и хотя он не исчезает, он не отображается в первый раз, пока пользователь не коснется экрана один раз. Я попробовал называть setVisible(true) на контроллере, но по какой-то причине это не работает.