web-dev-qa-db-ja.com

Android-Google Maps API v2-ズームコントロールを無効にする

Googleマップの[ズームイン]ボタンを無効にするにはどうすればよいですか?

map.getUiSettings().setZoomControlsEnabled(true)...SOMETHINGのようなコマンドを探してみましたが、何も存在しません。

最後の手段として、ズーム用の独自のボタンを作成したままにします。

PDATE:明確にする必要があります。ズームコントロール全体ではなく、ズームインボタンのみを無効にします。

46
KickAss

使用した設定は正しいものですが、無効にするにはfalseにする必要があります。

map.getUiSettings().setZoomControlsEnabled(false);

あなたの質問が正しかったことを願っています。

編集

残念ながら、1つのズームボタンを非表示にすることはできません。両方のボタンを非表示にして、独自のカスタムズームコントロールを作成し、マップに配置することができます。

120
Coderji

@Coderjiは不可能だと言った。私はそれが可能だと言う:-)

ズームボタン(+または-)の1つを非表示にして、通常のビュー(マージン、サイズ、パディングなど)のようなすべての操作を実行できます。

    SupportMapFragment mapView = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map));
    View zoomControls = mapView.getView().findViewById(0x1);

    for(int i=0;i<((ViewGroup)zoomControls).getChildCount();i++){
        View child=((ViewGroup)zoomControls).getChildAt(i);
        if (i==0) {
            // there is your "+" button, zoom in

        }
        if (i==1) {
            // there is your "-" button, I hide it in this example
            child.setVisibility(View.GONE);
        }
    }
8
buxik
3
Gabe