17

有没有办法始终在 MapView 上显示缩放控件?我已经使用添加了缩放控件

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

但缩放控件淡入淡出。我希望它们始终可见。

4

2 回答 2

22

通过将我自己的 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();
        }
    });
于 2009-06-05T12:49:21.443 回答
15

Intrications 的解决方案确实有效,但您失去了内置功能,当您一直放大或缩小时,按钮会禁用。您可以改用以下内容来保留此功能:

localMapView.getZoomButtonsController().setAutoDismissed(false);

但是,这不会让您将控件放置在面板中您想要的任何位置,虽然它不会消失,但它不会在第一次出现之前,直到用户触摸屏幕一次。我尝试调用setVisible(true)控制器,但由于某种原因这似乎不起作用。

于 2010-08-28T17:11:29.573 回答