更改MapView中的缩放控件

5
我想要将应用程序中预定义的缩放控件样式更改为类似于Google地图应用程序中的新缩放控件。如下所示:
enter image description here
我该怎么做?我已经查找过了,但没有找到任何内容。
先在此感谢您。

你想要做什么,可以给更多的细节吗? - DuyguK
我想了解一下是否有简单的方法来更改缩放按钮的外观,或者我必须创建新的可绘制对象并将它们添加到项目中,覆盖监听器等等...但我猜我必须创建自己的缩放按钮。 - jalv1039
@jalv1039:如果你在谷歌上搜索,很容易找到这样的按钮。 - Pratik Bhat
2个回答

5
我是这样解决问题的:禁用了内置的缩放控件(setBuiltInZoomControls(false)),添加了自己的按钮到UI并添加了处理按键事件的程序。

5

您应该有四个图像可绘制,分别是:

  1. 放大(+) 启用/禁用
  2. 缩小(-) 启用/禁用

将它们放在MapView布局中的ImageViewButton中,并使用上述可绘制图像作为背景图像。

然后,您应该分配onClickListeners,例如:

zoomIn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        mapView.getController.zoomIn()
        checkzoom();
    }
});

zoomOut.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        mapView.getController.zoomOut()
        checkzoom();
    }
});

public void checkzoom() {
    if(mapView.getZoomLevel()==1) // dont know if 0 or 1, just wrote it
    {
        zoomOut.setEnabled(false);
        // or u can change drawable and disable click
    }
    if(mapView.getZoomLevel()==18) {
        zoomIn.setEnabled(false);
        // or u can change drawable and disable click
    }
}

编辑: 放大 缩小


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接