Jja*_*ang 5 java android google-maps
我正在试图弄清楚如何计算屏幕可见区域的最大半径.
(在你说之前:嘿!矩形没有半径!我知道屏幕是矩形的(如果摄像机位于90度而不是倾斜),我说的是包围屏幕的假想圆的半径,或者,屏幕中心与矩形的一个角之间的边缘距离是相同的.
所以,据我所知,在屏幕没有倾斜的正常情况下,我可以将VisibleRegion.latLngbounds.southwest和屏幕中心之间的距离找到半径,但是当屏幕倾斜时,它会变成梯形.
现在,如果屏幕是等长梯形,那么我可以以VisibleRegion.farLeft为例(它将等于farEast)并以这种方式计算距离:
VisibleRegion vr = map.getProjection().getVisibleRegion();
Location center = new Location("center");
center.setLatitude(screenCenter.latitude);
center.setLongitude(screenCenter.longitude);
Location farVisiblePoint = new Location("farPoint");
farVisiblePoint.setLatitude(vr.farLeft.latitude);
farVisiblePoint.setLongitude(vr.farLeft.longitude);
float radius = center.distanceTo(farVisiblePoint);
Run Code Online (Sandbox Code Playgroud)
我的问题是:
地图上有任何情况,上面的计算会出错吗?梯形不是一个等one的吗?
谢谢.
归档时间: |
|
查看次数: |
1223 次 |
最近记录: |