导航:首页 > 操作系统 > android获取gps位置信息

android获取gps位置信息

发布时间:2022-10-02 19:41:56

android开发,手机获取 GPS位置信息,求助手机睡眠以后获取GPS位置信息

一直搜索gps是因为无法定位。一般国产手机的gps芯片型号不行(用的芯片是集成在手机主芯片上的),搜星速度慢,无法定位。我用三星的手机不用开a-gps都能一分钟搜到信号定位成功。但用中兴的手机就不行,用a-gps经常是5分钟以上才能定位。另外高速移动也影响定位计算。还有手机会保存上次定位的一些信息,这样在下次开gps时定位更快,你在高速上开gps,换了新地方计算定位花的时间会更长。建议你改改手机里的设置,换一个a-gps的定位网络服务器地址

Ⅱ android的怎么使用gps定位

有两种方法,

一种是设置里,有个位置和安全的选项,里面设置允许使用位置服务;


第二种(安卓4.0以上)在下拉栏里点击“位置服务”案件,绿色就表示打开了。以上两种方法使用时都会在上面有一个位置服务标识中间在闪烁。


打开wifi和GPS,允许定位!


Ⅲ Android 怎样稳定的获取原生GPS数据

定位了就有经纬度,没定位,则一直闪的;
一般是4个星的时候 会定位。
所以可以根据是否获取有效的经纬度信息来判断是否定位。

卫星的个数 sv_status也是可以通过API获取的。LOCATION类
给你一段我的代码,看看就知道了。

locationManager.addGpsStatusListener(statusListener);//侦听GPS状态

private GpsStatus.Listener statusListener = new GpsStatus.Listener()

{

public void onGpsStatusChanged(int event)

{

// TODO Auto-generated method stub

GpsStatus gpsStatus= locationManager.getGpsStatus(null);

Log.v(TAG,"GPS status listener ");

//Utils.DisplayToastShort(GPSService.this, "GPS status listener ");

switch(event)

{

case GpsStatus.GPS_EVENT_FIRST_FIX:{

//第一次定位时间UTC gps可用

//Log.v(TAG,"GPS is usable");

int i=gpsStatus.getTimeToFirstFix();

Utils.DisplayToastShort(GPSService.this, "GPS 第一次可用 "+i);

Utils.setGPSStatus(Utils.GPS_STATUS.START);

break;

}

case GpsStatus.GPS_EVENT_SATELLITE_STATUS:{//周期的报告卫星状态

//得到所有收到的卫星的信息,包括 卫星的高度角、方位角、信噪比、和伪随机号(及卫星编号)

Iterable<GpsSatellite> allSatellites;

allSatellites = gpsStatus.getSatellites();

Iterator<GpsSatellite>iterator = allSatellites.iterator();

int numOfSatellites = 0;

int maxSatellites=gpsStatus.getMaxSatellites();

while(iterator.hasNext() && numOfSatellites<maxSatellites){

numOfSatellites++;

iterator.next();

}

Log.v(TAG,"GPS is **unusable** "+ numOfSatellites +" "+ maxSatellites);

if( numOfSatellites < 3){

// Utils.DisplayToastShort(GPSService.this, "***卫星少于3颗***");

Utils.setGPSStatus(Utils.GPS_STATUS.STOP);

} else if(numOfSatellites > 7){

Utils.setGPSStatus(Utils.GPS_STATUS.START);

}

break;

}

case GpsStatus.GPS_EVENT_STARTED:{

//Utils.DisplayToastShort(GPSService.this, "GPS start Event");

break;

}

case GpsStatus.GPS_EVENT_STOPPED:{

//Utils.DisplayToastShort(GPSService.this, "GPS **stop*** Event");

Utils.setGPSStatus(Utils.GPS_STATUS.STOP);

break;

}

default :

break;

}

}

};

Ⅳ 如何在Android中编程获得当前的GPS定位

您好,很高兴为您解答。

一、准备工作需要如下三种软件:1. Eclipse2. Android SDK3. 开发Android程序的Eclipse 插件
为了开始我们的工作,首先要安装Eclipse,然后从Google的网站获得Android SDK,并且安装Eclipse插件。
二、Activity类每一种移动开发环境都有自己的基类。如J2ME应用程序的基类是midlets,BREW的基类是applets,而Android程序的基类是 Activity。这个activity为我们提供了对移动操作系统的基本功能和事件的访问。这个类包含了基本的构造方法,键盘处理,挂起来恢复功能,以 及其他底层的手持设备的访问。实质上,我们的应用程序将是一个Activity类的扩展。在本文中读者将会通过例子学习到如何使用Activity类来编 写Android程序。

Ⅳ android如何获取地理位置

三种方式进行定位,获取用户位置,分别是基于基站定位, 网络定位,GPS定位。
1.基站定位(passive):这是基于网络基站进行定位的,定位的精确度在几十米到几千米不等,在城市中基站覆盖率比较高,推荐使用基站定位,如果是在郊区,基站相距较远,基站的覆盖没有城里好,定位的误差比较大。如果在郊区不推荐使用基站定位。
2.网络定位:wifi定位,网络定位
3.GPS定位:与卫星进行通信。手机中嵌入了GPS模块(精简版的A-GPS),通过A-GPS搜索卫星, 获取经纬度。使用GPS的弊端是:必须站在空旷的地方,头顶对着天空,如果云层厚了,也会受到一定的影响。精确度:10-50米
扩展知识:
使用Android是定位必备的权限:
< uses-permission android:name= " android.permission.ACCESS_FINE_LOCATION " /> //精确定位
<uses-permission android:name= "android.permission.ACCESS_MOCK_LOCATION" /> //模拟器
<uses-permission android:name= "android.permission.ACCESS_COARSE_LOCATION" /> //粗糙定位

//获取定位管理对象
LocationManager lm=(LocationManager)getSystemService(LOCATION_SERVICE);
String[] names=lm.getAllProviders();//获取所有的位置提供者,一般三种

Criteria criteria=new Criteria();//查询条件,如果设置了海拔,则定位方式只能是GPS;
criteria.setCostAllowed(true);//是否产生开销,比如流量费
String provider=lm.getBaseProvider(criteria,true)//获取最好的位置提供者,第二个参数为true,表示只获取那些被打开的位置提供者

lm.requestLocationUpdates(provier,0,0,new LocationListener(){});//获取位置。第二个参数表示每隔多少时间返回一次数据,第三个参数表示被定位的物体移动每次多少米返回一次数据。

private class MyLocationListener implements LocationListener {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {

}

@Override
public void onProviderEnabled(String provider) {

}

@Override

@Override
public void onLocationChanged(Location location) {
System. out.println( "服务中位置监听发送了变化了" );
float accuracy = location.getAccuracy(); // 精确度
double altitude = location.getAltitude(); // 海拔
double latitude = location.getLatitude(); // 纬度
double longitude = location.getLongitude(); // 经度
String locationInfo = "jing:" + longitude + ",wei:" + latitude + ",haiba:" + altitude + ",jingque:" + accuracy;
Editor edit = sp.edit();
edit.putString( "location", locationInfo);
edit.commit();
}
} public void onProviderDisabled(String provider) {

}

Ⅵ android 怎么获取gps信息

可以做到直接call到GPS模块,读取当前的经纬度。
但经纬度->实际地址的转换,google提供了api供程序调用,需要去申请一个google maps api的key,然后发送经纬度,会返回实际地址。

Ⅶ Android 怎样稳定的获取原生GPS数据

Android 实现稳定获取原生GPS数据

LocationManager类的对象获取由系统提供

  1. 为一个LocationManager对象建立一个对象引用

    Ⅷ 安卓手机怎么定位 安卓手机怎么打开定位

    可参考vivo手机的开启方式:
    1、可以进入设置--(安全与隐私/更多设置)--定位服务--开启“定位服务/使用GPS卫星”,开启后可选择软件开启定位权限;
    2、打开手机的控制中心--点击定位按钮即可开启。

    Ⅸ 安卓手机如何开启GPS定位服务

    1、首先打开自己的手机,然后找到设置图标,点击进入。


    Ⅹ android怎样获得gps信息

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

    private void getLocation()
    {
    // 获取位置管理服务
    LocationManager locationManager;
    String serviceName = Context.LOCATION_SERVICE;
    locationManager = (LocationManager) this.getSystemService(serviceName);
    // 查找到服务信息
    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_FINE); // 高精度
    criteria.setAltitudeRequired(false);
    criteria.setBearingRequired(false);
    criteria.setCostAllowed(true);
    criteria.setPowerRequirement(Criteria.POWER_LOW); // 低功耗

    String provider = locationManager.getBestProvider(criteria, true); // 获取GPS信息
    Location location = locationManager.getLastKnownLocation(provider); // 通过GPS获取位置
    updateToNewLocation(location);
    // 设置监听器,自动更新的最小时间为间隔N秒(1秒为1*1000,这样写主要为了方便)或最小位移变化超过N米
    locationManager.requestLocationUpdates(provider, 100 * 1000, 500,
    locationListener); }

    private void updateToNewLocation(Location location) {

    TextView tv1;
    tv1 = (TextView) this.findViewById(R.id.tv1);
    if (location != null) {
    double latitude = location.getLatitude();
    double longitude= location.getLongitude();
    tv1.setText("维度:" + latitude+ "\n经度" + longitude);
    } else {
    tv1.setText("无法获取地理信息");
    }

    }
    网络地图API调用地址:http://api.map..com/geocoder?output=json&location=纬度,经度&key=APP_KEY
    谷歌地图服务API调用地址:http://maps.google.com/maps/api/geocode/json?latlng= 纬度,经度 &language=zh-CN&sensor=true
    可以设置返回数据格式,JSON或者XML。

阅读全文

与android获取gps位置信息相关的资料

热点内容
把ppt保存为pdf 浏览:533
汽车密封件加密配件 浏览:887
黑马程序员15天基础班 浏览:560
java调整格式 浏览:521
香港云服务器租用价 浏览:78
linuxsublime3 浏览:560
imac混合硬盘命令 浏览:277
沈阳用什么app租房车 浏览:857
00后高中生都用什么app 浏览:237
戴尔塔式服务器怎么打开独立显卡 浏览:807
医疗程序员招聘 浏览:597
住宿app可砍价是什么意思 浏览:133
java跳出语句 浏览:55
javastring个数 浏览:928
人工免疫算法应用 浏览:79
有什么app能收听俄罗斯广播电台 浏览:34
2015考研红宝书pdf 浏览:443
程序员几月跳槽合适 浏览:444
液压油可压缩吗 浏览:946
源泉cad加密文件 浏览:127