Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android映射填充和映射边界_Android_Google Maps - Fatal编程技术网

Android映射填充和映射边界

Android映射填充和映射边界,android,google-maps,Android,Google Maps,我正在使用android maps v2,我正在使用填充来移动地图控件和google的徽标: mMap.setPadding(0, 0, 0, padding_in_px); 另一方面,我需要知道地图可见部分的界限: LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds; 问题是,如果我放置填充,函数不会返回贴图上可见区域的边界,而只返回可见区域减去填充区域的边界 当地

我正在使用android maps v2,我正在使用填充来移动地图控件和google的徽标:

       mMap.setPadding(0, 0, 0, padding_in_px);
另一方面,我需要知道地图可见部分的界限:

       LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
问题是,如果我放置填充,函数不会返回贴图上可见区域的边界,而只返回可见区域减去填充区域的边界

当地图有填充mMap.getProjection().getVisibleRegion()时,是否有任何方法可以返回实际的可见边界而不是地图边界-填充边界


感谢
LatLngBounds-bounds-bounds=mMap.getProjection().getVisibleRegion().LatLngBounds
可以为您提供
nearLeft
nearRight
属性,它们是
LatLng
类型

您可以使用将
nearLeft
nearRight
转换为屏幕点。一旦获得可见区域的底点,就可以使用该点加上放置的填充像素(例如:100,
padding\u in_px
)。然后可以使用将点转换回

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