帮同学写一个小APP,需要在一张地图上画出算法给出的实际路线。
程序在Genymotion虚拟机上运行时显示正常,但是在Android自带的虚拟机和我自己的安卓机上显示却出现了偏差。
画路线时,先根据屏幕大小调整地图的大小,通过Bitmap的getWidth和getHeight得到图片的宽和高,进而求出scale进行缩放。然而打印出来却发现,在Genymotion上和图片的真实大小一样,但是在Android自带的虚拟机上宽和高分别变成了两倍,而在我自己的安卓机上宽和高变成了1.5倍。由此导致scale不准确,进而画路线时出现了偏差。
查阅资料才得知,同一张图片在不同分辨率下,图片的大小会发生变化,通过Bitmap的getWidth和getHeight得到的图片的宽和高自然也会变大或者变小。
搞了一晚上,真累!
本文描述了在不同设备上绘制地图路线时遇到的问题。作者在Genymotion虚拟机上正常运行的应用,在Android自带虚拟机及实际设备上出现路线偏差。原因是不同分辨率下,通过Bitmap获取的宽高值发生变化,导致缩放比例不准确。
4980

被折叠的 条评论
为什么被折叠?



