看这个插图:
我想知道的是:
- 在给定经纬度和距离(10 公里)时如何创建区域(圆)
- 如何检查(计算)纬度和经度是否在区域内或区域外
如果您可以给我 Java 代码示例或专门针对带有 Google Maps API V2 的 Android 代码示例,我更愿意
最佳答案
你基本上需要的是 map 上两点之间的距离:
float[] results = new float[1];
Location.distanceBetween(centerLatitude, centerLongitude, testLatitude, testLongitude, results);
float distanceInMeters = results[0];
boolean isWithin10km = distanceInMeters < 10000;
如果您已经有 Location
对象:
Location center;
Location test;
float distanceInMeters = center.distanceTo(test);
boolean isWithin10km = distanceInMeters < 10000;
这里是使用的 API 的有趣部分: https://developer.android.com/reference/android/location/Location.html
关于java - 检查纬度和经度是否在一个圆圈内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22063842/