Search code examples
androidzoomingandroid-mapview

Set minimum zoom level for MapView


Is there a way I can set a minimum zooM level for my MapView?. The map looks really ugly when zoom level is set to one because the whole world map replicated.

I would like to block that zoom level. Ideally, it would work whether the user is zooming through gestures or zoom controls.


Solution

  • Fortunately, i was having an overlay in my MapView. Otherwise, i guess you will have to create one, just for this tiny feature :-/. I wonder why there isn't any other way of doing this easier.

    Anyways, you just need to override your draw method like this:

    @Override
        public void draw(Canvas canvas, MapView mapView, boolean shadow) {
            super.draw(canvas, mapView, shadow);
            if (mapView.getZoomLevel() < 2)
                mapView.getController().setZoom(2);
        }
    

    Ger