android - 如何在 Android 的 Google Maps API 中使用适应设备像素密度的自定义图 block ?

标签 android google-maps-android-api-2 density-independent-pixel

我正在编写一个包含使用 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/

相关文章:

android - TileProvider 图形在更高的缩放级别上倾斜

android - 7"tablet & 7"平板电脑模拟器上的 DP 计算问题

android - 谷歌地图 : moving marker and map together smoothly along with the user?

google-maps - Android谷歌地图中的渐变折线

php - 如何在 PHP 中获取图像 DPI

android - 考虑屏幕像素密度的速度跟踪器

android - 如何检查我的 EditText 字段是否为空?

javascript - HTML5 地理定位精度 Android 与 iO 有很大不同

android - 如何从 RecyclerView Adapter 获取 ViewModel 的值

可以补偿倾斜和俯仰的 Android 指南针