Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android MapView - custom Zoom buttons

do you know, if there is a way how to make custom zoom buttons in Android's mapView? Or there are only prepreared zoom controls?

Thanks

Hmyzak

like image 708
Waypoint Avatar asked Jul 27 '11 12:07

Waypoint


2 Answers

You can set the default zoom controls to false (mapView.setBuiltInZoomControls(false)), add some buttons that are drawn on top of the map and have each button have a listener for when they are pressed. The MapView allows you to set the zoom level. One of the buttons could do a mapView.getController().zoomOut(), the other could do a mapView.getController().zoomIn(). If for some reason you need to find the zoom level, you can do a mapView.getController().getZoomLevel(). The maximum zoom level can be found by using mapView.getController().getMaxZoomLevel(). In my experiences, this value was 21.

Here is the page for MapView documentation on its Google Code page.

Here you can read documentation on the MapController

EDIT: Updated solution to use zoomIn and zoomOut

like image 69
red_sky Avatar answered Oct 03 '22 16:10

red_sky


Rather than mapView.getController().setZoom() you should use mapView.getController().zoomIn() and mapView.getController().zoomOut(). It gives you animated zoom like google maps default zooming controls and also you don't need to take care of zoom level by yourself.

This has been discussed here

like image 32
ABH Avatar answered Oct 03 '22 16:10

ABH