如何根据给定的圆心和半径获取圆的东北和西南坐标?我在任何地方都找不到解决方案。目前,与之前不同,圆对象没有getLatLngBounds()或getBounds()方法。
如何根据给定的圆心和半径获取圆的东北和西南坐标?我在任何地方都找不到解决方案。目前,与之前不同,圆对象没有getLatLngBounds()或getBounds()方法。
您可以使用Google Maps Android API Utility Library中的SphericalUtil.computeOffset
方法。要使用它,您需要将以下依赖项添加到您的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);
基本上是复制并粘贴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;
}