我使用的是安卓地图v2,我使用一个填充来移动地图控件和谷歌的徽标:
mMap.setPadding(0, 0, 0, padding_in_px);另一方面,我需要知道地图可见部分的界限是什么:
LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;问题是,如果我放置一个填充,函数不会返回映射中可见区域的边界,而只返回可见区域减去填充区域的边界。
当映射有填充mMap.getProjection()时,.getVisibleRegion()是否返回实际可见的边界,而不是映射边界-填充边界?
谢谢
发布于 2015-07-14 18:28:51
LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;可以为您提供nearLeft和nearRight属性,它们是LatLng类型。
您可以使用nearLeft或nearRight将其转换为屏幕点。获得可见区域的底部后,可以使用该点加上放置的填充像素(例如: 100,padding_in_px)。然后可以使用fromScreenLocation()将点转换回原来的位置。
LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
LatLng nearLeft = bounds.nearLeft
Point visibleNearLeftPoint = mMap.getProjection().toScreenLocation(nearLeft);
Point screenBottomLeftPoint = new Point(visibleNearLeftPoint.x, visibleNearLeftPoint.y + padding_in_px);
LatLng screenBottomLatLng = mMap.getProjection().fromScreenLocation(screenBottomLeftPoint);https://stackoverflow.com/questions/31389499
复制相似问题