我有一个带有一个叠加层的MapView。叠加在MapView上渲染基于图块的地图。我使用MapView.getZoomLevel()来检索Google地图和我的图块的当前缩放级别。一切都很完美,但前提是用户不使用多点触控手势缩放地图。据我了解,MapView控件在缩放过程中不渲染实际的图块,而只是显示拉伸的屏幕内容。所以,问题是 - 如何获得这个缩放比例,我可以用它来渲染我的瓷砖与谷歌完全一样?
谢谢!
答案 0 :(得分:1)
虽然方法MapView.getZoomLevel()
未与缩放更改动画和多首角色对齐,但方法MapView.getProjection().fromPixels()
和MapView.getProjection().fromPixels()
是。
因此,您可以选择解决此问题。从上面的方法中,您可以找到直接(x,y)
坐标(和大小)渲染图块的位置,或者您可以使用以下内容找到缩放比例:
int lonSpan = projection.fromPixels(0,mapView.getHeight()/2).getLongitudeE6() -
projection.fromPixels(mapView.getWidth(),mapView.getHeight()/2).getLongitudeE6();
它为您提供地图垂直中心的经度范围。然后,在缩放开始之前将值除以缩放开始前的值。
问候。