android 百度地图怎么获取不到GPS定位

末日之花 2013-05-29 09:49:56
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();
}


每次运行都显示获取不到,请问是什么原因啊 !请大神指导!
...全文
4146 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wei_Leng 2014-04-10
  • 打赏
  • 举报
回复
........GPS定位发个DEMO给我啊
末日之花 2013-06-06
  • 打赏
  • 举报
回复
谢谢大家了,找到原因了,原来是GPS定位太慢的原因,两分钟之后就会定位到了。不过,谢谢你们大家了!
qinjuning 2013-06-05
  • 打赏
  • 举报
回复
可以用百度定位 lib库定位。
kk1924 2013-06-04
  • 打赏
  • 举报
回复
怎么我记得,最新版的定位不是这样的,??定位,只要你定位功能逻辑开了,,然后GPS硬件开了的话,它会自动去识别的
rushonin 2013-06-04
  • 打赏
  • 举报
回复
先自己随便赋值一个location初始化一下,后续定到位了,再更新显示,试试。
zas880615 2013-06-04
  • 打赏
  • 举报
回复
还有,如果是地图服务是要申请密匙的,如果只是定位SDK则不需要!
zas880615 2013-06-04
  • 打赏
  • 举报
回复
百度API的首页有那个定位的SDK,并且头DEMO示例的程序!
末日之花 2013-06-04
  • 打赏
  • 举报
回复
试过了,先给个值,可是再定位还是这个值,无法获取位置。
攃肩洏過 2013-06-03
  • 打赏
  • 举报
回复
我按照百度给的demo写的一模一样,结果我这里报错,是一个jar出的问题,但是那个jar是百度自己提供的,并且在他们提供的demo里没问题,就是不知道为啥到我这里不行。
末日之花 2013-06-03
  • 打赏
  • 举报
回复
你可以说清楚一点吗?我试了一下,可还是没有用。你可以给个更详细点的吗
末日之花 2013-06-02
  • 打赏
  • 举报
回复
仅仅就是location1=location;吗?怎么还是没有用啊?
BennuCTech 2013-05-30
  • 打赏
  • 举报
回复
引用 楼主 lyfzxf 的回复:
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(); } 每次运行都显示获取不到,请问是什么原因啊 !请大神指导!
模拟器么?
末日之花 2013-05-30
  • 打赏
  • 举报
回复
private void getLocation(){ // 获取位置管理服务 LocationManager locationManager22 ; String serviceName = BaiduActivity.LOCATION_SERVICE; locationManager22 = (LocationManager)BaiduActivity.this.getSystemService(serviceName); // 查找到服务信息 String provider=LocationManager.GPS_PROVIDER; //指定用GPS查询服务 //设置监听器,自动更新的最小时间为间隔2秒或最小位移变化超过2米 locationManager22.requestLocationUpdates(provider, 2000, 2, ll); try{ Location location1 = locationManager22.getLastKnownLocation(provider); // 通过GPS获取位置 int lng = (int) (location1.getLongitude() * 1E6); Toast.makeText(this, lng, Toast.LENGTH_SHORT).show(); // center = new GeoPoint(lat, lng); } catch(Exception es) { Toast.makeText(this, "出现未知错误,获取当前位置不到", Toast.LENGTH_SHORT).show(); } } //创建位置监听器 // LocationListener private LocationListener ll = new LocationListener(){ //位置发生改变时调用 public void onLocationChanged(Location location) { center = new GeoPoint((int) (location.getLatitude() * 1e6), (int) (location.getLongitude() * 1e6)); } //provider失效时调用 public void onProviderDisabled(String provider) { Log.d("Location", "onProviderDisabled"); System.out.print("wwwww"); } //provider启用时调用 public void onProviderEnabled(String provider) { Log.d("Location", "onProviderEnabled"); System.out.print("eeeee"); } //状态改变时调用 public void onStatusChanged(String provider, int status, Bundle extras) { Log.d("Location", "onStatusChanged"); System.out.print("rrrr"); } }; 是这样吗?可是还是没用?是什么原因,我是刚接触的所以很笨。麻烦指点一下。
小王爷 2013-05-30
  • 打赏
  • 举报
回复
你的设备有没有GPS模块
undergrowth 2013-05-30
  • 打赏
  • 举报
回复
引用 3 楼 lyfzxf 的回复:
private void getLocation(){ // 获取位置管理服务 LocationManager locationManager22 ; String serviceName = BaiduActivity.LOCATION_SERVICE; locationManager22 = (LocationManager)BaiduActivity.this.getSystemService(serviceName); // 查找到服务信息 String provider=LocationManager.GPS_PROVIDER; //指定用GPS查询服务 //设置监听器,自动更新的最小时间为间隔2秒或最小位移变化超过2米 locationManager22.requestLocationUpdates(provider, 2000, 2, ll); try{ Location location1 = locationManager22.getLastKnownLocation(provider); // 通过GPS获取位置 int lng = (int) (location1.getLongitude() * 1E6); Toast.makeText(this, lng, Toast.LENGTH_SHORT).show(); // center = new GeoPoint(lat, lng); } catch(Exception es) { Toast.makeText(this, "出现未知错误,获取当前位置不到", Toast.LENGTH_SHORT).show(); } } //创建位置监听器 // LocationListener private LocationListener ll = new LocationListener(){ //位置发生改变时调用 public void onLocationChanged(Location location) { center = new GeoPoint((int) (location.getLatitude() * 1e6), (int) (location.getLongitude() * 1e6)); } //provider失效时调用 public void onProviderDisabled(String provider) { Log.d("Location", "onProviderDisabled"); System.out.print("wwwww"); } //provider启用时调用 public void onProviderEnabled(String provider) { Log.d("Location", "onProviderEnabled"); System.out.print("eeeee"); } //状态改变时调用 public void onStatusChanged(String provider, int status, Bundle extras) { Log.d("Location", "onStatusChanged"); System.out.print("rrrr"); } }; 是这样吗?可是还是没用?是什么原因,我是刚接触的所以很笨。麻烦指点一下。
你要注意了 你的位置在改变之后 但是你的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; //然后再来显示你的位置 }
末日之花 2013-05-30
  • 打赏
  • 举报
回复
不是模拟器,用的是手机,就是获取不到本地位置!请大神指教,急!!!!
undergrowth 2013-05-29
  • 打赏
  • 举报
回复
前提:如果你的GPS开了的话 那么可能是如下原因 因为getLastKnownLocation方法获取的是上一次已知的位置 但是你的apk运行的时候 从来没有获取位置数据 所以每次运行都获取不到数据 每次location都是为Null 解决办法:使用new LocationListener()接口 locationManager.requestLocationUpdates(locationprovider, 2000, 2, listener); //注册监听位置改变 然后再 location=locationManager.getLastKnownLocation(locationprovider); 就可以获取数据了

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧