求一个Android使用LocationManager获取两个点的经纬度之后计算出两个点的距离的Demo十万火急。
推荐回答
我们用的就是GPS定位,或者网络定位,失败就失败了,我也不能保证一次定位成功。你要是获取别的地点经纬度,那就只有查询了。就是说你要别的地点经纬度只能自己去查,那个文件是查好的自己的手机只能获取自己当前经纬度。
龚小英2020-01-17 16:00:54
提示您:回答为网友贡献,仅供参考。
其他回答
-
两点经纬度,计算距离这种公式我必然是不知道的,谷歌翻了翻,有人说直接从googlemaps的脚本里扒了段代码。我作为不明真相的群众就围观转一下maps的代码:计算的结果是米为单位。计算两点距离privatefinaldoubleEARTH_RADIUS=6378137.0;privatedoublegps2mdoublelat_a,doublelng_a,doublelat_b,doublelng_b{doubleradLat1=lat_a*Math.PI/180.0;doubleradLat2=lat_b*Math.PI/180.0;doublea=radLat1-radLat2;doubleb=lng_a-lng_b*Math.PI/180.0;doubles=2*Math.asinMath.sqrtMath.powMath.sina/2,2+Math.cosradLat1*Math.cosradLat2*Math.powMath.sinb/2,2;s=s*EARTH_RADIUS;s=Math.Rounds*10000/10000;returns;。
黄登英2020-01-17 17:00:39
-
代码没有问题的;之所以获取不到经纬度是因为gps定位有一定事件,而且要求比较苛刻,要在空旷的地方呆一会才能获取。解决方法:按照你现在的代码逻辑。可以先用network模式定位然后缓存下来经纬度,如果获取不到经纬度就使用network模式的经纬度。使用第三方sdk比如locationsdk 或者高德定位sdk,他们sdk里面已经做了封装,默认先使用gps定位如果gps定位失败再使用network模式。这样做起来比较简单,就是需要集成sdk配置环境。
连伯煌2020-01-17 15:56:03