在MapView中更改缩放控件

时间:2012-01-18 15:21:44

标签: android google-maps zoom android-mapview

我想更改应用程序中缩放控件的预定义样式,使其显示为google地图应用程序中的新缩放控件。见下文:

enter image description here

我该怎么办?我一直在四处寻找,但我没有找到任何东西。

提前致谢。

2 个答案:

答案 0 :(得分:5)

你应该有四个图像绘图,即:

  1. 放大(+)启用/停用
  2. 缩小( - )启用/停用
  3. 将它们放在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
        }
    }
    

    修改 zoom in zoom out

答案 1 :(得分:5)

我通过这种方式解决了这个问题:禁用内置缩放控件(setBuiltInZoomControls(false)),将自己的按钮添加到UI并添加处理程序以点击按钮事件。