Android中获取当前位置的三种方式:
1GPS定位
获取GPS的Location Provider;将此Provider传入到requestLocationUpdates()方法,让Android系统获知搜索位置方式;创建实现了GpsStatusListener接口的对象,重写onGpsStatusChanged()方法,向LocationManager添加次监听器
2基站定位
此类位置的获取有赖于手机无线通讯信号,当手机处在信号覆盖范围内,手机可以获得该区域(即通讯术语中的“小区”)的识别号。因为这些识别号是惟一的,因此可以将识别号和地理坐标对应起来,因此根据识别号就可以知道地理位置。但是误差比较大。
在Android当中,大部分和通讯网络相关的信息都需要经过一项系统服务,即TelephoneManager来获得。
3网络定位(wife定位)
其原理是首先收集每个WIFI无线接入点的位置,对每个无线路由器进行唯一的标识,在数据库中注明这些接入点的具体位置。 使用时,一旦发现有WI-FI接入点,则进入到数据中查看匹配的记录,进而得到位置信息。
WIFI定位主要取决于节点(node)的物理地址(mac address)。与提供TelephoneManager一样,Android也提供了获取WIFI信息的接口:WifiManager。
>
private Context mContext;
private LocationManager locationManager;
public GPSTools(Context context) {
super();
mContext = context;
locationManager = (LocationManager) context
getSystemService(ContextLOCATION_SERVICE);
}
/
获取地址的经纬度
@return 维度_经度
/
public String getGpsAddress() {
// 返回所有已知的位置提供者的名称列表,包括未获准访问或调用活动目前已停用的。
List<String> lp = locationManagergetAllProviders();
for (String item : lp) {
MLogi("8023", "可用位置服务:" + item);
}
Criteria criteria = new Criteria();
criteriasetCostAllowed(false);
// 设置位置服务免费
criteriasetAccuracy(CriteriaACCURACY_COARSE); // 设置水平位置精度
// getBestProvider 只有允许访问调用活动的位置供应商将被返回
String providerName = locationManagergetBestProvider(criteria, true);
MLogi("8023", "------位置服务:" + providerName);
if (providerName != null) {
Location location = locationManager
getLastKnownLocation(providerName);
if (location != null)
return "纬度:" + locationgetLatitude() + " 经度:"
+ locationgetLongitude();
} else {
ToastmakeText(mContext, "1请检查网络连接 \n2请打开我的位置",
ToastLENGTH_SHORT)show();
}
return "未能获取到当前位置,请检测以下设置:\n1检查网络连接 \n2打开我的位置(GPS)";
}
有很多应用在打开应用的时候,就需要去获取当前手机的地址位置并且显示出地名等,现在介绍一种方法通过手机内置的GPS获取当前位置的经纬度
思路: 首先判断手机当前是否打开GPS功能-->如果没有打开就通过代码帮助用户强制打开手机GPS功能-->根据手机GPS获取手机当前位置的经纬度
注意:打开gps和访问网络的权限
这种只有两种可能,一种可能是你的无线网络没有开数据流量没有打开,造成百度地图连不上网。
第二种就是你的GPS定位没有打开。
两种情况都有可能。
切记必须同时打开GPS定位和数据流量或者无线wifi。
以上就是关于android开发中怎么获取当前位置的坐标全部的内容,包括:android开发中怎么获取当前位置的坐标、android开发 怎么获取gps经纬度、android 求一个简单的使用GPS获取经纬度的代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)