Всегда показывать элементы управления масштабированием на MapView - PullRequest
17 голосов
/ 28 мая 2009

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

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

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

Ответы [ 2 ]

22 голосов
/ 05 июня 2009

Решил это, поместив мои собственные 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();
        }
    });
14 голосов
/ 28 августа 2010

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

localMapView.getZoomButtonsController().setAutoDismissed(false);

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

...