导航:首页 > 操作系统 > android获取地理位置

android获取地理位置

发布时间:2022-07-22 12:17:19

1. 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) {

}

2. 安卓编程怎么获取真实地理位置不被虚拟软件欺骗

端口不一样 微信的端口被用滥了 欺骗好做 其他小众软件端口不一样 没法欺骗

3. android开发当中,如何获得当前地理位置并显示到第二个页面当中 第一个页面放个提交按钮,点击

使用网络地图的SDK或者谷歌的SDK,网络地图开发者平台中有定位方法,在点击按钮之后调用定位方法并传递到第二个页面,或者在第二个页面中做持续定位,详细方法参见网络地图开发者平台。

4. android百度地图怎么查看指定地点的经纬度

  1. 先打开网络地图首页,本人身处在广州,就以熟悉的广州为例,查找广州火车站的经纬度!

  2. 输入广州火车站,搜索一下广州火车站的位置,这里就标记出广州火车站以及进出口这类的,大致了解所要查询地方的地理位置!

  3. 在地图的左下角位置,找到地图开放平台,并点击进入!

  4. 进到地图的开放平台后,将网页向下拉,在插件与工具中, 可以看到“坐标拾取工具",点击选用这个工具!

  5. 这时进入到网络地图的拾取坐标系统的页面,该页面有详细的功能说明与使用说明!

  6. 再次搜索我们需要查询的地方名,定位后同样会显示我们需要查询的地方!

  7. 将鼠标移动到该地理位置上,就会显示该地方的地址与坐标了!

  8. 同样的,网络地图也提供了经纬坐标的反查功能,即通过输入坐标,就能查询该地理位置,这时就需要勾选坐标反查!且输入的经纬坐标用英文状态下”,“隔开!

5. android 定位地理位置

定位技术有两种,一种是基于GPS的定位,一种是基于移动运营网的基站的定位。基于GPS的定位方式是利用手机上的GPS定位模块将自己的位置信号发送到定位后台来实现手机定位的。基站定位则是利用基站对手机的距离的测算距离来确定手机位置的。后者不需要手机具有GPS定位能力。

目前,一般的定位软件所使用的都是GPS定位和基站定位相结合。基站定位是通过电信移动运营商的网络(如GSM网)获取移动终端用户的位置信息(经纬度坐标)。GPS定位使用卫星,比较费电,精确,但在室内无法定位。基站定位的精度较低,但是可以在室内定位。基站定位的精度很大程度依赖于基站的分布及覆盖范围的大小,有时误差会超过一公里。

手机定位应该根据用户服务需求的不同提供不同的精度服务,并可以提供给用户选择精度的权利。例如美国FCC推出的定位精度在50米以内的概率为67%,定位精度在150米以内的概率为95%。定位精度一方面与采用的定位技术有关,另外还要取决于提供业务的外部环境,包括无线电传播环境、基站的密度和地理位置、以及定位所用设备等。

基站定位的大致原理为:移动电话测量不同基站的下行导频信号,得到不同基站下行导频的TOA(Time of Arrival,到达时刻)或TDOA(Time Difference of Arrival,到达时间差),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,就能够计算出移动电话的位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。

还有,你在使用手机网络地图等软件的时候,在不打开网络和GPS的情况下,实际上也能实现定位。但是你可能看不出来,因为在你没有打开网络的时候,地图页面不会加载,看到的只是全屏的网格。但你会看到进入时的点位置有一个明显的跳动过程,这是该软件设置的初始位置向你当前位置跳转。你也可以先打开网络,实用软件加载一遍地图,如其存在你的缓存中,这是在关闭网络的情况下就会显示你的位置。

资料来源:http://ke..com/link?url=UCgPUX7gVVa08-G4Ss-e4N52vlGBg8jrRdytEW7YP_

6. 安卓手机软件为什么要获取地理位置

这种获取地理位置信息的做法,不但是安卓系统,苹果的iOS、诺基亚的塞班等都有这种做法,据目前比较可信的说法就是:

  1. 软件开发商可以将这些信息加以整理,可以提供该一些需要的企业,例如餐饮企业的门店布局就需要这种信息,可以更合理的进行门店的布局;

  2. 一些隐私调查者也需要这种信息;

  3. 还有就是作为一种行为调查等需要。

只要有可以挣钱的途径,一些商家多会加以利用。

7. 关于android webview里HTML5的地理位置定位,在别的浏览器中打开可以定位,在我自己的webview却不能

我也遇到了同样的问题,我查看了下源码解决了,主要代码如下:
//启用数据库
webSettings.setDatabaseEnabled(true);
String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();

//启用地理定位
webSettings.setGeolocationEnabled(true);
//设置定位的数据库路径
webSettings.setGeolocationDatabasePath(dir);

//最重要的方法,一定要设置,这就是出不来的主要原因

webSettings.setDomStorageEnabled(true)

//配置权限(同样在WebChromeClient中实现)
public void (String origin,
GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
super.(origin, callback);
}
配置权限:

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

8. 请问android如何修改系统gps信息,也就是我修改gps定位后,其他软件通过gps获取地理位置

我之前做过android网络地图相关的开发 无论是gps还是中国的北斗定位系统 都是通过手机硬件和定位卫星进行时时连接 数据也是时时传输 不存在数据缓存(客户端有可能有数据缓存) 如果实在想修改定位 可以通过eclipse(专门开发android的软件)启动一个android模拟器 在模拟器上安装微信或者你需要定位的软件 在里面模拟经度纬度(因为模拟器没有gps硬件

) 点击send相当于获取了你设置的位置信息

9. Android高德地图如何获取当前地理位置

小德支持两种定位方式哦~GPS定位,户外能看到天空的地方效果最好,受天气和信号遮挡影响较大;网络定位,通过WiFi信号和基站信号(移动、联通、电信等运营商的信号塔)进行定位。

10. Android 如果获取拍摄照片的地理位置

需要通过第三方的数据或者服务来确定具体的地名
本身手机照相的图片保存的只是经纬度信息,需要将这个信息进行转化得到具体的地名
比如,你可以使用网络地图的API,它是免费开放的,通过它的API,可以将经纬度转化为具体的地名,反过来也可以。

阅读全文

与android获取地理位置相关的资料

热点内容
迷你世界出编程软件了 浏览:671
res文件夹有哪些 浏览:142
交通信号灯单片机课程设计 浏览:826
如何测试流媒体服务器的并发能力 浏览:161
溯源码有分国家认证的吗 浏览:218
如何通过app查询产检报告 浏览:944
拉结尔安卓手机怎么用 浏览:695
驱动级进程代理源码 浏览:782
androidshape画线 浏览:510
程序员想辞职被拒绝 浏览:101
java面试逻辑 浏览:749
如何下载全英文app 浏览:724
js函数式编程指南 浏览:380
为什么安卓手机相机启动会卡 浏览:341
python中t是什么意思 浏览:765
移动硬盘内存加密 浏览:407
单片机测角度 浏览:864
URL服务器地址怎么填 浏览:438
压缩饼干会导致血糖高吗 浏览:569
cad中xc命令怎么用 浏览:424