Java计算当前位置附近几公里经纬度
时间: 2023-09-27 12:04:43 浏览: 190
要计算当前位置附近几公里的经纬度,可以使用以下算法:
1. 先要获取当前位置的经纬度坐标,可以使用Java中的Location类获取。
```
Location location = new Location("");
location.setLatitude(latitude); // 设置当前位置的纬度
location.setLongitude(longitude); // 设置当前位置的经度
```
2. 根据当前位置的经纬度坐标以及距离计算出纬度差和经度差。假设要计算附近2公里的经纬度,那么纬度差为:
```
double lat = 0.018;
```
经度差需要根据当前位置所在纬度计算,因为在不同的纬度上,同样的经度差代表的距离是不同的。计算公式如下:
```
double lon = 0.018/Math.cos(latitude*Math.PI/180);
```
3. 根据经纬度差计算出附近区域的四个角的经纬度坐标。假设当前位置为(lat0,lon0),则附近区域的四个角的经纬度坐标为:
左上角:(lat0+lat, lon0-lon)
右上角:(lat0+lat, lon0+lon)
左下角:(lat0-lat, lon0-lon)
右下角:(lat0-lat, lon0+lon)
这样就可以得到附近区域的经纬度范围了。
4. 最后,可以使用这个经纬度范围去数据库中查询在该范围内的地点信息。
希望这个算法对你有所帮助!
相关问题
Java计算当前位置附近3公里经纬度
要计算当前位置附近3公里的经纬度,可以使用以下算法:
1. 先要获取当前位置的经纬度坐标,可以使用Java中的Location类获取。
```
Location location = new Location("");
location.setLatitude(latitude); // 设置当前位置的纬度
location.setLongitude(longitude); // 设置当前位置的经度
```
2. 根据当前位置的经纬度坐标以及距离计算出纬度差和经度差。假设要计算附近3公里的经纬度,那么纬度差为:
```
double lat = 0.027;
```
经度差需要根据当前位置所在纬度计算,因为在不同的纬度上,同样的经度差代表的距离是不同的。计算公式如下:
```
double lon = 0.027/Math.cos(latitude*Math.PI/180);
```
3. 根据经纬度差计算出附近区域的四个角的经纬度坐标。假设当前位置为(lat0,lon0),则附近区域的四个角的经纬度坐标为:
左上角:(lat0+lat, lon0-lon)
右上角:(lat0+lat, lon0+lon)
左下角:(lat0-lat, lon0-lon)
右下角:(lat0-lat, lon0+lon)
这样就可以得到附近区域的经纬度范围了。
4. 最后,可以使用这个经纬度范围去数据库中查询在该范围内的地点信息。
希望这个算法对你有所帮助!
java计算里程_Java通过算法计算当前位置附近几公里经纬度-Fun言
你好!要计算当前位置附近几公里的经纬度,可以使用以下算法:
1. 先要获取当前位置的经纬度坐标,可以使用Android系统提供的LocationManager类获取。
```
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double latitude = location.getLatitude();
double longitude = location.getLongitude();
```
2. 根据当前位置的经纬度坐标以及距离计算出纬度差和经度差。假设要计算附近2公里的经纬度,那么纬度差为:
```
double lat = 0.018;
```
经度差需要根据当前位置所在纬度计算,因为在不同的纬度上,同样的经度差代表的距离是不同的。计算公式如下:
```
double lon = 0.018/Math.cos(latitude*Math.PI/180);
```
3. 根据经纬度差计算出附近区域的四个角的经纬度坐标。假设当前位置为(lat0,lon0),则附近区域的四个角的经纬度坐标为:
左上角:(lat0+lat, lon0-lon)
右上角:(lat0+lat, lon0+lon)
左下角:(lat0-lat, lon0-lon)
右下角:(lat0-lat, lon0+lon)
这样就可以得到附近区域的经纬度范围了。
4. 最后,可以使用这个经纬度范围去数据库中查询在该范围内的地点信息。
希望这个算法对你有所帮助!
阅读全文