MapViewにズームボタンを設置する簡単な方法は?
MapViewに、地図のズームをする為のズームコントローラを配置する方法は簡単です。
二つ紹介します。
まず一つ目は、敢えて非推奨のやり方を説明します。
MapView map = (MapView)findViewById(R.id.mapview);
ZoomControls z = (ZoomControls)map.getZoomControls();※
ViewGroup.LayoutParams param =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT);
z.setLayoutParams(param);
z.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
map.addView(z);
これで、MapViewの下の方に、地図のズームボタンが設置されます。
サンプルコード内の※印を付けたメソッドのMapView.getZoomControls()は、非推奨(deprecated)です。
次は、推奨の方法です。
上に比べると、コードがスッキリしまくります。
MapView map = (MapView)findViewById(R.id.mapview);
map.setBuiltInZoomControls(true);
スポンサーリンク
これだけです。
最初に紹介した非推奨な方法で作った場合と、全く同じようにズームボタンが表示されます。
地図上をタップすると・・・
このようにズームボタンが現れて、「+」を押せば拡大、「―」を押せば縮小します。
ズームボタンの配置場所を変えたいとか、色んなカスタマイズをしたい場合は、もっとコードを追加しないといけないと思いますが、ここではこれまでとします。
ちなみに、非推奨であるMapView.getZoomControls()をAPIリファレンスで見てみると下記のように記述されています。
赤枠部分に、推奨のAPIが記述されているので、今回ご紹介した方法がわかりました。
もし、書いているコードで、「非推奨(deprecated)」と警告されたら、是非APIリファレンスをご覧ください。