繁体   English   中英

如何在Android中的Google Maps API中使用适合设备像素密度的自定义切片?

[英]How can I use custom tiles that are adapted to the device's pixel density in Google Maps API in Android?

我正在编写一个Android应用,其中包含使用Google Maps API的地图。

我使用自己的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或其他网站上找到任何解决方案。

有谁知道如何解决我的问题?

您可以从相应的drawable文件夹中将您的切片检索为Drawable ,而不是尝试手动解析分类器。

如果您不控制服务器,则无法控制质量。

您可以从缩放级别加载4个图像,然后将它们合并到512 x 512大小的位图中,以便在xhdpi设备上使用。 我首先检查TileProvider是否正确处理更大的图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM