osmdroid - higher zoom level?

[亡魂溺海] 提交于 2019-12-03 02:53:37

The maximum zoom level is determined by the tile source that you are using. If you are using one of the provided online tile sources like MAPNIK, then the max zoom level is set to 18 because that is the max zoom level that the tile source creates tiles for. If you want to zoom in further then you need to use a tile source that provides higher zoom level tiles.

If you simply want to override the max zoom level regardless of the tile source's zoom level then you can simply call:

mapView.setMaxZoomLevel(19);

to set the max zoom level to 19, but again the tile source may just not have tiles at that zoom level.

Forsythe

For anybody looking for solution for better tile scaling, osmdroid now comes in with built-in function called :

setTilesScaledDpi(boolean) 

The function is located in MapView class.

I had a similar problem to this while using a new HTC One today. Owing to the very high screen density, the maximum zoom level rendered the map tiles in such a manner as to make the street names and locations almost unreadable (I'm using OpenStreetMap). The best solution that I found was to scale the images in the tile source:

final float scale = getBaseContext().getResources().getDisplayMetrics().density;
final int newScale = (int) (256 * scale);
String[] OSMSource = new String[2];
OSMSource[0] = "http://a.tile.openstreetmap.org/";
OSMSource[1] = "http://b.tile.openstreetmap.org/";  
XYTileSource MapSource = new XYTileSource("OSM", null, 1, 18, newScale, ".png", OSMSource);  
map.setTileSource(MapSource);

Varying the scale in accordance with the screen density is a relatively good solution, provided you add some contingency to prevent the tiles becoming too blurry.

This is not my solution BTW, I found it among the OSMDROID issues on Github. Thanks goes to stefangab95.

EDIT: If the screen density is too high then scaling the tiles can also have the negative impact of making routes paths (generated using RoadManager) invisible. This problem has been recorded as an issue on the OSMBonusPack web site - No Polyline drawn. There is no resolution as yet.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!