android 百度地图怎么获取不到GPS定位
LocationManager locationManager22 ;
String serviceName = Context.LOCATION_SERVICE;
locationManager22 = (LocationManager) BaiduActivity.this.getSystemService(serviceName);// 查找到服务信息
String provider=LocationManager.GPS_PROVIDER;
Location location1 = locationManager22.getLastKnownLocation(provider); // 通过GPS获取位置
try{
String ss=location1.toString();
Toast.makeText(this, ss, Toast.LENGTH_SHORT).show();}
catch(Exception es)
{
Toast.makeText(this, "获取不到", Toast.LENGTH_SHORT).show();
}
每次运行都显示获取不到,请问是什么原因啊 !请大神指导! Android GPS 百度地图
[解决办法]
前提:如果你的GPS开了的话 那么可能是如下原因
因为getLastKnownLocation方法获取的是上一次已知的位置
但是你的apk运行的时候 从来没有获取位置数据 所以每次运行都获取不到数据 每次location都是为Null
解决办法:使用new LocationListener()接口
locationManager.requestLocationUpdates(locationprovider, 2000, 2, listener); //注册监听位置改变
然后再 location=locationManager.getLastKnownLocation(locationprovider);
就可以获取数据了
[解决办法]
你的设备有没有GPS模块
[解决办法]
模拟器么?
------解决方案--------------------
你要注意了 你的位置在改变之后
但是你的Location location1 = locationManager22.getLastKnownLocation(provider); // 通过GPS获取位置
只运行了一次 就是说 即使 public void onLocationChanged(Location location) {
center = new GeoPoint((int) (location.getLatitude() * 1e6),
(int) (location.getLongitude() * 1e6));
}
执行了之后 但是你的location1 还是为空的 所以获取不到数据
你可以在public void onLocationChanged(Location location) {
location1=location;
//然后再来显示你的位置
}
[解决办法]
我按照百度给的demo写的一模一样,结果我这里报错,是一个jar出的问题,但是那个jar是百度自己提供的,并且在他们提供的demo里没问题,就是不知道为啥到我这里不行。
[解决办法]
百度API的首页有那个定位的SDK,并且头DEMO示例的程序!
[解决办法]
还有,如果是地图服务是要申请密匙的,如果只是定位SDK则不需要!
[解决办法]
先自己随便赋值一个location初始化一下,后续定到位了,再更新显示,试试。
[解决办法]
怎么我记得,最新版的定位不是这样的,??定位,只要你定位功能逻辑开了,,然后GPS硬件开了的话,它会自动去识别的
[解决办法]
可以用百度定位 lib库定位。
