如何获取gps卫星导航定位,解决getLastKnownLocation返回null
2016-11-18 14:31
676 查看
转:http://blog.csdn.net/illusion_luna/article/details/7998591
在用Android开发地图导航的时候不知道大家有没有遇到过使用getLastKnownLocation()函数返回的location却总是显示为null的情况,本人在这几天就遇到过这问题,妹的。。。足足折磨我一天的时间,太痛苦咯~~,好在经过一天的上网找资料,查文档,纵欲把问题给解决咯。。。呼~~;好了
废话不多说。。直接上代码。
在开始代码之前,先说明,如果你要在模拟器上测试,并且使用MapView的话,你必须申请到google map key,至于申请的办法,网上很多,也写得很详细,在这里我就不多赘述咯。。呵呵,还要在AndroidManifest.xml文件中加入
还要在application间加上<uses-library android:name="com.google.android.maps"/>:如图
好了。。。接下来就是activity的代码咯。。
首先创建一个类继承与MapActivity。。这里注意,一定要继承MapActivity。。其他的Activity不行的。。注意咯
接下来就是要实例化各种属性:
首先,实例化LocationManager:
检测gps功能是否打开
获取到最好的筛选器^ ^我自叫他筛选器的。。
注意:这里的通过getLastKnownLocation()获取到的location有可能为null,别管他 让他去就是咯
注意:上面的mapView.displayZoomControls(true);一定要加。。要不然的话会出现map不能动态的更新显示经纬度的变化.
在注册LocationListener后,我们就要重写activity的onPause()和onResume()
上面的gps监听只是监听gps在已经开启了的状态的改变,也就是说gps已经开启了,但它是出于开启状态中的可见呢?还是开启状态中的暂停。。。等等
而我们也要给LocationManager注册一个gps监听,用于监听gps是否已经顺利的启动,还是说依然没有启动
注意下面这部分你可以将它封装成一个内部类形式,当然,你也可以将他写到onCreate函数内~~
依旧在onCreate内的代码,设置map的显示模式和放大缩小的按钮
接下来这部分可以不再onCreate内写,将它封装成一个函数调用,获取最佳的提供者。。也就是我自说的筛选器。。呵呵呵
好了。。代码都写完了。。接下来就是运行看结果了。。我们这些代码是2.3版本的
测试。。。。
在ddms上输入一个经纬度,点击send,出现如下的地图
不知道这是哪里~~呵呵呵呵
在改变经纬度
地图将会改变
看。。。。地图发生了变化^ ^。。。因为要上课咯 所以先闪咯~~~
由于我是第一次写博客,所以哪位大神飘过过请勿见笑。。。。。。
请多多指教
在用Android开发地图导航的时候不知道大家有没有遇到过使用getLastKnownLocation()函数返回的location却总是显示为null的情况,本人在这几天就遇到过这问题,妹的。。。足足折磨我一天的时间,太痛苦咯~~,好在经过一天的上网找资料,查文档,纵欲把问题给解决咯。。。呼~~;好了
废话不多说。。直接上代码。
在开始代码之前,先说明,如果你要在模拟器上测试,并且使用MapView的话,你必须申请到google map key,至于申请的办法,网上很多,也写得很详细,在这里我就不多赘述咯。。呵呵,还要在AndroidManifest.xml文件中加入
还要在application间加上<uses-library android:name="com.google.android.maps"/>:如图
好了。。。接下来就是activity的代码咯。。
首先创建一个类继承与MapActivity。。这里注意,一定要继承MapActivity。。其他的Activity不行的。。注意咯
接下来就是要实例化各种属性:
首先,实例化LocationManager:
检测gps功能是否打开
获取到最好的筛选器^ ^我自叫他筛选器的。。
注意:这里的通过getLastKnownLocation()获取到的location有可能为null,别管他 让他去就是咯
注意:上面的mapView.displayZoomControls(true);一定要加。。要不然的话会出现map不能动态的更新显示经纬度的变化.
在注册LocationListener后,我们就要重写activity的onPause()和onResume()
上面的gps监听只是监听gps在已经开启了的状态的改变,也就是说gps已经开启了,但它是出于开启状态中的可见呢?还是开启状态中的暂停。。。等等
而我们也要给LocationManager注册一个gps监听,用于监听gps是否已经顺利的启动,还是说依然没有启动
注意下面这部分你可以将它封装成一个内部类形式,当然,你也可以将他写到onCreate函数内~~
依旧在onCreate内的代码,设置map的显示模式和放大缩小的按钮
接下来这部分可以不再onCreate内写,将它封装成一个函数调用,获取最佳的提供者。。也就是我自说的筛选器。。呵呵呵
好了。。代码都写完了。。接下来就是运行看结果了。。我们这些代码是2.3版本的
测试。。。。
在ddms上输入一个经纬度,点击send,出现如下的地图
不知道这是哪里~~呵呵呵呵
在改变经纬度
地图将会改变
看。。。。地图发生了变化^ ^。。。因为要上课咯 所以先闪咯~~~
由于我是第一次写博客,所以哪位大神飘过过请勿见笑。。。。。。
请多多指教
相关文章推荐
- 如何获取gps卫星导航定位,解决getLastKnownLocation返回null
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Android GPS getLastKnownLocation()返回null的解决
- getLastKnownLocation()返回null的解决
- getLastKnownLocation()返回null的解决
- android getLastKnownLocation()获取当前位置为null解决方法
- MAP getLastKnownLocation()返回null的解决
- 关于定位时,getLastKnownLocation返回值为null所碰到的问题
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation)
- MAP getLastKnownLocation()返回null的解决
- getLastKnownLocation()返回null的解决
- android学习难点解决之(一)百度地图的定位---getLastKnownLocation为空和MapActivity
- 如何获取gps卫星导航定位,解决getLastKnownLocation返回null
- Android 解决 GetLastKnownLocation(provider) = null