Gio*_*Gio 3 java location localization geolocation
我的代码需要帮助.我想获得以米为单位的半径的最大纬度和最大经度(以度为单位)以及纬度和经度(以度为单位)的实际位置.有人能帮我吗?
谢谢!!
Ale*_*you 11
首先,每个纬度都包含appx 111.1 km,因此很容易重新计算线性增量到纬度增量.
其次,1经度的线性外观是不同的,取决于纬度:靠近极点小,靠近赤道大.近似方程式如下:
kmInLongitudeDegree = 111.320 * Math.cos( latitude / 180.0 * Math.PI)
Run Code Online (Sandbox Code Playgroud)
结合这一点,很容易获得覆盖你的圈子的纬度和经度的增量:
deltaLat = radiusInKm / 111.1;
deltaLong = radiusInKm / kmInLongitudeDegree;
minLat = lat - deltaLat;
maxLat = lat + deltaLat;
minLong = long - deltaLong;
maxLong = long + deltaLong;
Run Code Online (Sandbox Code Playgroud)
有关更精确的计算,请查看此处:http://en.wikipedia.org/wiki/Longitude(经度的长度).
在Android上,要获得一个纬度包含多少米,请制作2个Location对象:一个具有当前坐标,另一个具有0.1度的纬度,然后计算它们之间的距离并乘以10.与经度相同.
| 归档时间: |
|
| 查看次数: |
3469 次 |
| 最近记录: |