我正在编写一个包含使用 Google Maps API 的地图的 Android 应用程序。
我使用自己的扩展名加载自定义地图图块com.google.android.gms.maps.model.UrlTileProvider
。
我有两组地图图块:一组设计用于高密度屏幕,另一组设计用于低密度屏幕。更高密度的地图瓦片集具有更大的文本等。两组都使用 256x256 像素的地图图块大小。
我根据从以下获得的屏幕密度在两组之间切换:
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
Float density = displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT;
到目前为止,一切都很好。
应根据密度显示适当的地图图块集。
然而,在更高密度的设备上(其中许多像素被视为一个逻辑密度独立像素 (DiP/DP)),每个地图瓦片像素都被缩放以匹配一个设备 DiP/DP。换句话说,设备的密度越高,渲染时地图图块的外观就越差。
我已经玩了一段时间的UrlTileProvider
构造函数宽度/高度,但它们似乎没有任何效果。
而且我在 Google Maps API 中找不到任何设置来帮助我解决问题。
我还没有在 stackoverflow 或其他网站上找到任何解决方案。
有谁知道如何解决我的问题?