如何获得具有给定中心和半径的圆的东北和西南坐标?我找不到任何解决方案。目前,Circle对象没有以前的getLatLngBounds()和getBounds()方法。
答案 0 :(得分:6)
您可以使用SphericalUtil.computeOffset
方法
Google Maps Android API Utility Library。要使用它,您需要具有以下依赖关系build.gradle
:
dependencies {
compile 'com.google.maps.android:android-maps-utils:0.4+'
}
然后,您可以计算圆圈的东北和西南坐标:
double radius = 104.52;
LatLng center = new LatLng(40.22861, -3.95567);
LatLng targetNorthEast = SphericalUtil.computeOffset(center, radius * Math.sqrt(2), 45);
LatLng targetSouthWest = SphericalUtil.computeOffset(center, radius * Math.sqrt(2), 225);
答案 1 :(得分:3)
基本上复制和粘贴antonio的答案:
public static LatLngBounds getLatLngBoundsFromCircle(Circle circle){
if(circle != null){
return new LatLngBounds.Builder()
.include(SphericalUtil.computeOffset(circle.getCenter(), circle.getRadius() * Math.sqrt(2), 45))
.include(SphericalUtil.computeOffset(circle.getCenter(), circle.getRadius() * Math.sqrt(2), 225))
.build();
}
return null;
}