android - osmdroid - 显示更大的瓷砖

标签 android openstreetmap osmdroid

我正在使用 osmdroid 和从 OSM 下载的 map ,最高级别为 16。我想知道是否有任何方法可以让 osmdroid 使用该缩放级别的图 block ,但将其绘制得更大。

问题是该级别上的图 block 对我来说有足够的细节,但绘制得很小。我见过一些其他应用程序使用相同的图 block 级别,但不知何故设法将它们画得更大。

谢谢

最佳答案

我发现这个问题的最佳解决方案(我今天早些时候遇到过)是更改图 block 源中的缩放比例(我使用的是我自己的 OpenStreetMap 版本):

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);

根据屏幕密度改变比例是一个比较好的解决方案。在我的测试过程中,一些图像变得有些模糊,但如果您针对这种情况降低缩放比例,您会得到非常好的结果。

顺便说一句,这不是我的解决方案,我在 Github 上的 OSMDROID 问题中发现了它.感谢 stefangab95

关于android - osmdroid - 显示更大的瓷砖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7240568/

相关文章:

android - 停止ListView滚动动画

android - 我想在 osmdroid 中添加多语言

Java,JXMapKit : How to catch java.net.UnknownHostException

java - Android 设备中的 OpenCV Java API 或 OpenCV C++ API?

android - 调用 AsyncTask.get() 时未显示 ProgressDialog

android - 如何在我的 OSM 应用程序上显示路线

java - 如何使用 OSMdroid 从 MyLocationNewOverlay 检索地理点

java - osmdroid:加载自定义图 block 源时显示的图 block 困惑

android - MyLocationOverlay 已弃用,还有其他选择吗?

android - 如何在 Android 的 webview 中禁用文本选择?