我在这方面遇到了可怕的问题。我有一个 MapView,在我的 Activity 中我设置了标志以显示缩放控件,并且它可以工作。但随后用户导航到另一个 Activity ,回到 map ,缩放控件消失了。
是否有一种简单的方法可以确保缩放控件始终存在,还是我需要在顶部滚动?理想情况下,我想在 MapView 的子类中设置缩放控件以保持简单。我怀疑它失败了,因为在错误的时间设置了缩放控件,但什么时候是正确的时间?
最佳答案
这就是我所做的。首先使用您的 MapView 将 ZoomControl View 添加到文件中(我使用 RelativeLayout 来保存 MapView 和 ZoomControls)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<MapView
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="X"
android:clickable="true" />
<ZoomControls
android:id="@+id/zoomcontrols"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" />
</RelativeLayout>
现在在你的 onCreate 方法中做一些类似的事情
mapView.setBuiltInZoomControls(false);
ZoomControls 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();
}
});
关于android - 如何确保缩放控件始终显示在 MapView 上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8066519/