我正在将Google Maps Javascript v3 API网络应用程序移植到原生Android应用程序中。在我的Web应用程序中,我使用自定义地图图块。因为谷歌地图的Android实现不支持自定义图块,所以我将图像重新拼接在一起(每个缩放级别一个图像),并根据当前缩放级别覆盖整个相关图像,而不是平铺(我的图像很小) ,所以我可以这样做。)
我遇到的问题是叠加层只能在一个DPI上正确定位。例如,如果我在/hdpi
目录中有所有图像,则叠加层正确定位。如果我将所有图像移动到/ldpi
目录中,则叠加层太大,因此不会位于现有MapView Google地图图像的正确位置。
我想知道如何确保无论设备DPI如何,我的叠加层总是会正确调整尺寸以匹配底层的MapView图像。我考虑过的朴素方法只是根据/ldpi
和/mdpi
目录的相关因素来缩放图像,但如果我没有弄错,这些都是“粗糙的”,实际上设备可能正在使用他们之间的任何地方都有DPI。任何人都可以建议一个合适的解决方案吗?