A. 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) {
}
B. 请问android如何修改系统gps信息,也就是我修改gps定位后,其他软件通过gps获取地理位置
我之前做过android网络地图相关的开发 无论是gps还是中国的北斗定位系统 都是通过手机硬件和定位卫星进行时时连接 数据也是时时传输 不存在数据缓存(客户端有可能有数据缓存) 如果实在想修改定位 可以通过eclipse(专门开发android的软件)启动一个android模拟器 在模拟器上安装微信或者你需要定位的软件 在里面模拟经度纬度(因为模拟器没有gps硬件
) 点击send相当于获取了你设置的位置信息
C. 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;
}
}
};
D. 如何在Android7.1上打开GPS定位
如何在Android7.1上打开GPS定位?
如何在Android7.1上打开GPS定位?
GPS定位是现代手机中许多应用程序所需的基本功能之一。在Android7.1版本中,打开GPS定位的步骤与先前版本的步骤略有不同。在这篇文章中,我们将简要介绍如何在Android7.1上打开GPS定位。
步骤1:打开“设置”应用程序
在Android设备的主屏幕上,点击“设置”应用程序的图标。这个应用程序的图标通常具有一个齿轮的形状。
步骤2:打开“位置”设置
在“设置”应用程序中,向下滚动,找到“位置”选项并点击。
步骤3:使用GPS定位
在“位置”设置屏幕上,您将看到一个开关按钮,上面写着“使用GPS定位”。如果该开关按钮没有显示绿色,您需要将其打开才能允许应用程序使用您的GPS定位。
步骤4:允许所有应用程序使用GPS定位
如果您希望允许所有应用程序访问您的GPS定位,请确保“位置”设置屏幕上的“高级”选项被启用。此时,您将看到一个名为“允许所有应用程序访问此设备上的位置信息”的选项。您必须将此选项打开,以允许任何应用程序使用您的GPS位置。
总的来说,打开GPS定位功能是非常容易的。只需要转到设备的设置应用程序中的“位置”屏幕,打开“使用GPS定位”按钮即可。如果您希望允许所有应用程序使用您的GPS位置,请确保“高级”选项中的“允许所有应用程序访问此设备上的位置信息”选项被启用。当您完成这些步骤并允许应用程序访问您的GPS定位时,您就可以开始使用那些需要这个功能的应用程序了。
E. 怎样在android手机中开启GPS功能
1、解锁手机进入主界面,选择“设置”
2、进入设置界面,选择“定位服务”
3、进入定位设置界面后,将“定位服务”右侧滑块开启。
4、开启后即可打开GPS功能,在下方可以选择不同的“定位模式”
5、在主界面下拉屏幕呼出菜单栏,点击“位置信息”可以快速开启GPS功能。
F. android gps是怎么定位的
开发中对于地图及地理位置的定位是我们经常要用地,地图功能的使用使得我们应用功能更加完善,下面 www.androidkaifa.com 总结了一下网络中现有对于介绍android定位的几种方式,希望对大家有帮助:
android 定位一般有四种方法,这四种方式分别是:GPS定位,WIFI定准,基站定位,AGPS定位,
(1) Android GPS:需要GPS硬件支持,直接和卫星交互来获取当前经纬度,这种方式需要手机支持GPS模块(现在大部分的智能机应该都有了)。通过GPS方式准确度是最高的,但是它的缺点也非常明显:1,比较耗电;2,绝大部分用户默认不开启GPS模块;3,从GPS模块启动到获取第一次定位数据,可能需要比较长的时间;4,室内几乎无法使用。这其中,缺点2,3都是比较致命的。需要指出的是,GPS走的是卫星通信的通道,在没有网络连接的情况下也能用。要实用Adnroid平台的GPS设备,首先需要添加上权限,所以需要添加如下权限:
uses-permission android:name= android.permission.ACCESS_FINE_LOCATION /uses-permission