始终在 MapView 上显示缩放控件

Posted

技术标签:

【中文标题】始终在 MapView 上显示缩放控件【英文标题】:Always show zoom controls on a MapView 【发布时间】:2010-10-29 13:49:47 【问题描述】:

有没有办法?我已经使用

添加了缩放控件
map=(MapView)findViewById(R.id.map);
map.setBuiltInZoomControls(true);

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

【问题讨论】:

【参考方案1】:

通过将我自己的 ZoomControls 放入我的布局 xml 中解决了这个问题:

<ZoomControls android:id="@+id/zoomcontrols"
android:layout_
android:layout_ />

然后设置 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();
        
    );

【讨论】:

“mapController”怎么样?【参考方案2】:

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

localMapView.getZoomButtonsController().setAutoDismissed(false);

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

【讨论】:

以上是关于始终在 MapView 上显示缩放控件的主要内容,如果未能解决你的问题,请参考以下文章

无法在 MapView 上显示缩放按钮

如何自动缩放mapView以显示覆盖

osmdroid - 更高的缩放级别?

当我缩放 mapView 以显示我的注释时,选定的注释部分不在屏幕上

如何在'mapview'上设置合适的缩放级别?

mapView 上的点在移动到下一个选项卡时消失