我想要进行GPS定位,如何借助编程,完成这个操作?
原问题:How do I get the current GPS location programmatically in Android?
我想要进行GPS定位,如何借助编程,完成这个操作?
原问题:How do I get the current GPS location programmatically in Android?
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
2 回答1.7k 阅读
1 回答2.1k 阅读
1 回答1.1k 阅读
1 回答1.3k 阅读
1.3k 阅读
答:CommonsWare
(最佳答案)
网上很多的教程都已经过时了,你可以在我的书中下载相关源码,找到Internet/Weather和Service/WeatherPlus的demo,然后使用LocationManager。或者你可以在我的另一本书中,根据23-Location的教程指引,使用LocationManager。
不过,因为GPS需要花费一段时间才能成功安装,所以目前,你也只能通过Android系统进行定位。否则,你只有通过位置升级,或者利用类似的pattern才能完成这个操作。
答:RDC
我创建了一个简易的应用,来完成GPS的相关定位。
以下是全部源码的URL地址
Get Current Location coordinates , City name - in Android
首先,我们需要在manifest文件中添加许可,
然后创建如下LocationManager的实例:
1
2
LocationManager locationManager = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
检查GPS能否正常工作
然后执行LocationListener和Get Coordinates
以下是具体代码样例
答:Maxim Shoustin
我的方法与以上几位的回答不同,因为Android自带:
GPS_PROVIDER 和 NETWORK_PROVIDER
你可以两个都注册,然后同时启动GPS_PROVIDER和NETWORK_PROVIDER中的onLocationChanged(Location location)。
然后我们可以从两个结果中择优处理,不难发现,NETWORK PROVIDER的定位结果要比GPS更加精确。
下面来定义Location field:
下述的方法可以说是介于GPS和Network中,但还是推荐一试,
每次,进行新的定位时,都会比较之前的定位结果。
所以,我在onLocationChanged中添加了一种新的method。