Android MapView平滑放大?

时间:2012-11-20 07:52:06

标签: android android-mapview

我有一个带有一个叠加层的MapView。叠加在MapView上渲染基于图块的地图。我使用MapView.getZoomLevel()来检索Google地图和我的图块的当前缩放级别。一切都很完美,但前提是用户不使用多点触控手势缩放地图。据我了解,MapView控件在缩放过程中不渲染实际的图块,而只是显示拉伸的屏幕内容。所以,问题是 - 如何获得这个缩放比例,我可以用它来渲染我的瓷砖与谷歌完全一样?

谢谢!

1 个答案:

答案 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();

它为您提供地图垂直中心的经度范围。然后,在缩放开始之前将值除以缩放开始前的值。

问候。