始终在 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 上显示缩放控件的主要内容,如果未能解决你的问题,请参考以下文章