【问题标题】:Google Map isn't zooming in and out with a custom button谷歌地图没有使用自定义按钮放大和缩小
【发布时间】:2013-11-11 17:08:09
【问题描述】:

我制作了用于放大和缩小的自定义按钮。这是按钮的 XML:

<ImageButton
    android:id="@+id/unzoomButton"
    android:layout_width="58dp"
    android:layout_height="58dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:background="@drawable/unzoom_button"
    android:layout_marginTop="@dimen/standard_margin"
    android:layout_marginBottom="@dimen/standard_margin"
    android:scaleType="fitXY" />

<ImageButton
    android:id="@+id/zoomButton"
    android:layout_width="58dp"
    android:layout_height="58dp"
    android:layout_alignTop="@+id/unzoomButton"
    android:layout_toRightOf="@+id/unzoomButton"
    android:background="@drawable/zoom_button"
    android:scaleType="fitXY" />

添加 ImageButton 监听器:

    imgbtnZoom = (ImageButton) findViewById(R.id.zoomButton);
    imgbtnZoom.setOnClickListener(this);

    imgbtnUnzoom = (ImageButton) findViewById(R.id.unzoomButton);
    imgbtnUnzoom.setOnClickListener(this);

对于 shozuld 处理点击的语句:

@Override
public void onClick(View v) {

    switch (v.getId()) {
    case R.id.button_options:
        Intent i = new Intent();
        i.setClass(this, OptionsActivity.class);
        startActivityForResult(i, OptionsActivity.REQUEST_CODE_OPTIONS_ACTIVITY);
        break;
    case R.id.button_back:
        finish();
        break;
    case R.id.zoomButton:
        CameraUpdateFactory.zoomIn();
        Log.i("TAG", "Zoom in");
        break;
    case R.id.unzoomButton:
        CameraUpdateFactory.zoomOut();
        Log.i("TAG", "Zoom out");
        break;
    }
}

我什至在这两次点击中添加了日志,以确保按钮点击确实有效(确实如此),但是当我点击其中任何一个按钮时,地图没有任何反应。

CameraUpdateFactory.zoomIn() 和 CameraUpdateFactory.zoomOut() 为您提供一个 CameraUpdate,它将缩放级别更改 1.0,同时保持所有其他属性相同。

Google Maps API 官方文档明确指出,使用这两个功能中的任何一个都应该放大/缩小谷歌地图。它并没有说应该做任何其他事情才能让它工作。我错过了什么吗?

【问题讨论】:

    标签: android xml eclipse google-maps google-maps-android-api-2


    【解决方案1】:

    刚刚找到解决方案!这就是我的做法:

    case R.id.zoomButton:
            mMap.animateCamera(CameraUpdateFactory.zoomIn());
            break;
    case R.id.unzoomButton:
            mMap.animateCamera(CameraUpdateFactory.zoomOut());
            break;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-09
      • 2015-11-05
      • 2019-09-21
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多