有没有办法在MapView上始终显示缩放控件?我已经使用
添加了缩放控件map=(MapView)findViewById(R.id.map);
map.setBuiltInZoomControls(true);
但缩放控件淡入淡出。我希望它们始终可见。
答案 0 :(得分: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();
}
});
答案 1 :(得分:14)
Intrications'解决方案确实有效,但是当你一直放大或缩小时,你失去了按钮禁用的内置功能。您可以使用以下代码保留此功能:
localMapView.getZoomButtonsController().setAutoDismissed(false);
但是,这不允许您将控件放在面板中的所需位置,虽然它不会消失,但在用户触摸屏幕一次之前它不会显示。我试着在控制器上调用setVisible(true)
,但由于某些原因这似乎不起作用。