Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android OSM droid - set Max Zoom level

I am implementing App vith usage of osmdroid mapView. We have maps with max 16 zoom level, but Android allow us to have 18 zoom levels. Do you know how to set maximum zoom level 16 instead of default 18?

Thanks

Hmyzak

like image 304
Waypoint Avatar asked Jul 21 '11 08:07

Waypoint


2 Answers

Update - we have added simple setMin/MaxZoomLevel() methods to MapView in the trunk. It should be included in 3.0.10.

See https://code.google.com/p/osmdroid/issues/detail?id=418 for additional info.

Original answer:

Create your own TileSource class and use that. You can piggyback on one of the concrete tile source classes, like:

public static final OnlineTileSourceBase MyMapTileSource = new XYTileSource("My Tile Source",ResourceProxy.string.mapnik, 0, 16, 256, ".png", "");

Note the "16" - that is where you specify the max zoom level.

But really, you should create your own concrete class and extend BitmapTileSourceBase. It sounds like you are using static imagery and not online imagery which is what XYTileSource is for.

like image 125
kurtzmarc Avatar answered Sep 29 '22 22:09

kurtzmarc


You can use the mapView.setMinZoomLevel()and mapView.setMaxZoomLevel() methods to adjust the zoom level.

like image 41
Dulakshi Wijesinghe Avatar answered Sep 29 '22 23:09

Dulakshi Wijesinghe