我正在编写一个包含使用 Google Maps API 的 map 的 Android 应用。
我使用我自己的 com.google.android.gms.maps.model.UrlTileProvider
扩展加载自定义 map 图 block 。
我有两组 map 图 block :一组专为高密度屏幕设计,另一组专为低密度屏幕设计。更高密度的 map 图 block 集具有更大的文本等特征。两组都使用 256x256 像素的 map 图 block 大小。
我根据从以下位置获得的屏幕密度在两组之间切换:
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
Float density = displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT;
到目前为止一切顺利。
根据密度显示适当的 map 图 block 集,这是应该的。
但是,在更高密度的设备上(其中许多像素被视为一个逻辑密度无关像素 (DiP/DP)),每个 map 图 block 像素都被缩放以匹配一个设备 DiP/DP。换句话说,设备的密度越高,渲染时 map 图 block 的外观就越差。
我已经尝试使用 UrlTileProvider
构造函数宽度/高度,但它们似乎没有任何效果。
而且我在 Google Maps API 中找不到任何设置来帮助我解决我的问题。
我还没有在 stackoverflow 或其他网站上找到任何解决方案。
有人知道如何解决我的问题吗?
最佳答案
您可以从相应的 drawable
文件夹中将您的图 block 作为 Drawable
检索,而不是尝试手动解析分类器。
关于android - 如何在 Android 的 Google Maps API 中使用适应设备像素密度的自定义图 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17996554/