我制作了用于放大和缩小的自定义按钮。这是按钮的 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 官方文档明确指出,使用这两个功能中的任何一个都应该放大/缩小谷歌地图。它并没有说应该做任何其他事情来让它工作。我错过了什么吗?