android - 谷歌地图没有使用自定义按钮放大和缩小

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

我制作了用于放大和缩小的自定义按钮。这是按钮的 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;
    }
}

我什至为这两次点击添加了日志,以确保按钮点击确实有效(并且确实有效),但是当我点击其中任何一个按钮时 map 都没有任何反应。

CameraUpdateFactory.zoomIn() and CameraUpdateFactory.zoomOut() give you a CameraUpdate that changes the zoom level by 1.0, while keeping all other properties the same.

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

最佳答案

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

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

关于android - 谷歌地图没有使用自定义按钮放大和缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19911948/

相关文章:

android - 是否可以访问 Facebook 图库并让用户选择图像?

xml - 元素 "xsd"的前缀 "xsd:schema"未绑定(bind)

java - 在eclipse中重构一个字段

java - Google App Engine Java 无法运行应用程序 HTTP 500

java - 我的项目中缺少 R.Java 并且不会重新生成

android - jetpack compose 中重复使用具有重复代码的列

java - 如何在 Android 中使用 WLResourceRequest 创建 Multipart 请求

android - layout_gravity 在 LinearLayout 中不起作用

xml - 根据 RegistrySearch 的结果设置目录

在自定义 View 布局中使用包含标记时 Android 数据绑定(bind)崩溃