【问题标题】:Change zoom controls in a MapView更改 MapView 中的缩放控件
【发布时间】:2012-01-18 15:21:44
【问题描述】:

我想更改我的应用程序中缩放控件的预定义样式,使其看起来像谷歌地图应用程序中的新缩放控件。见下文:

我该怎么做?我环顾四周,没有找到任何东西。

提前致谢。

【问题讨论】:

  • 你到底想做什么,能详细点吗?
  • 我想知道是否有任何简单的方法可以更改缩放按钮的外观,或者我必须创建新的可绘制对象并将它们添加到项目中,覆盖侦听器等等......但我想我必须创建自己的缩放按钮
  • @jalv1039:如果你在谷歌上搜索,你会很容易得到这样的按钮,

标签: android google-maps zooming android-mapview


【解决方案1】:

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

  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
    }
}

编辑:

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-09-20
      • 2017-04-09
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 2023-03-16
      相关资源
      最近更新 更多