0

我在我的 上显示了一个兴趣点mapview,当它被点击时,我会触发一个animateTo以将其置于屏幕中央。但是,我点击后弹出的注释有时太高并被截断屏幕顶部。我想mapview稍微向下移动,以便将整个视图显示给用户,而无需他们进一步向下移动。

4

1 回答 1

1

这将为您提供当前缩放级别下屏幕中心每个像素的纬度值:

pixelValueY = projection.fromPixels(mapView.getwidth()/2 ,mapView.getHeight()/2).getLatitudeE6() -  projection.fromPixels(mapView.getwidth()/2 ,mapView.getHeight()/2 +1).getLatitudeE6();

现在假设您要将地图向下移动 20 个像素,只需将上述值添加到原始中心位置的纬度:

mapController.animateTo(new GeoPoint(originalCenterLat + 20 * pixelValueY , originalCenterLon));

祝你好运

于 2012-09-28T16:40:35.517 回答