ズームインとズームアウト用のカスタム ボタンを作成しました。ボタンの 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;
}
}
ボタンのクリックが実際に機能することを確認するために、これらの 2 回のクリックにログを追加しました (実際に機能します) が、これらのボタンのいずれかをクリックしても、マップには何も起こりません。
CameraUpdateFactory.zoomIn() と CameraUpdateFactory.zoomOut() は、ズーム レベルを 1.0 ずつ変更する CameraUpdate を提供しますが、他のすべてのプロパティは同じに保ちます。
Google Maps API の公式ドキュメントには、これら 2 つの関数のいずれかを使用すると、Google マップをズームイン/ズームアウトする必要があることが明確に記載されています。それが機能するために他に何かをする必要があるとは言っていません。何か不足していますか?