【发布时间】:2010-10-29 13:49:47
【问题描述】:
有没有办法始终在 MapView 上显示缩放控件?我已经使用
添加了缩放控件map=(MapView)findViewById(R.id.map);
map.setBuiltInZoomControls(true);
但缩放控件会淡入淡出。我希望它们始终可见。
【问题讨论】:
有没有办法始终在 MapView 上显示缩放控件?我已经使用
添加了缩放控件map=(MapView)findViewById(R.id.map);
map.setBuiltInZoomControls(true);
但缩放控件会淡入淡出。我希望它们始终可见。
【问题讨论】:
通过将我自己的 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();
}
});
【讨论】:
Intrications 的解决方案确实有效,但您失去了内置功能,当您一直放大或缩小时,按钮会禁用。您可以改用以下代码来保留此功能:
localMapView.getZoomButtonsController().setAutoDismissed(false);
但是,这不会让您将控件放置在面板中您想要的任何位置,虽然它不会消失,但在用户触摸屏幕一次之前它不会第一次出现。我尝试在控制器上调用setVisible(true),但由于某种原因这似乎不起作用。
【讨论】: