Всегда показывать элементы управления увеличением на MapView
Можно ли всегда показывать элементы управления масштабированием в MapView? Я добавил элементы управления масштабированием, используя
map=(MapView)findViewById(R.id.map);
map.setBuiltInZoomControls(true);
но кнопки зуммирования исчезают и исчезают. Я хочу, чтобы они всегда были видны.
Ответы
Ответ 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)
на контроллере, но по какой-то причине это не работает.