0

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

谢谢你!

4

1 回答 1

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

它为您提供地图垂直中心的经度跨度。然后,将缩放开始后的值与缩放开始前的值相除。

问候。

于 2012-11-20T12:02:31.747 回答