经过测试发现,在有的手机上获取经纬度没有问题,在其他的手机上获取经纬度却又问题,因此我查看了谷歌提供的源码,从源码里面提取出了一份新的获取经纬度的代码,以后每次获取基本都获取成功了:
LocationManager lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
Location retLocation = null ;
LocationProvider gpsProvider =
lm.getProvider("gps");
if(gpsProvider == null)
{
longitude.setText("0");
dimensions.setText("0");
return;
}
//下面必须原封不动的照搬,否则就会出错,原因我也不知道。
lm.requestLocationUpdates(gpsProvider.getName(),
0 /*minTime*/, 0 /*minDist*/, this);
try {
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
3000 /*minTime*/, 0 /*minDist*/, this);
} catch (RuntimeException e) {
// If anything at all goes wrong with getting a cell location do not
// abort. Cell location is not essential to this app.
}
retLocation = lm.getLastKnownLocation("gps");
if(retLocation==null)
{
longitude.setText("0");
dimensions.setText("0");
}
else
{
double geoLatitude = retLocation.getLatitude();//获取经度
double geoLongitude = retLocation.getLongitude();//获取维度
longitude.setText(""+geoLongitude);
dimensions.setTag(""+geoLatitude);
}
longitude.setEnabled(false);
Location改变的消息在这个接口方法中获取:
private void updataGpsWidthLocation(Location location) {
// TODO Auto-generated method stub
if(location != null)
{
double lit = location.getLongitude();//进度
double dimen = location.getLatitude();//维度
longitude.setText(""+lit);
this.dimensions.setText(""+dimen);
float accuray=location.getAccuracy();//获取精确度
Log.e("", "accuray:"+accuray);
accurText.setText(""+accuray);
}
else
{
longitude.setText("0");
dimensions.setText("0");
}
}
分享到:
相关推荐
这份"Android 获取Gps信息的程序源码.zip"包含了实现这一功能的完整源代码,可以帮助开发者深入理解如何在Android应用中集成GPS定位。下面我们将详细探讨相关的知识点。 首先,Android中的位置服务主要通过...
这份"Android应用源码之获取Gps信息的程序源码.zip"压缩包包含了实现这一功能的源代码,是学习和理解Android GPS定位机制的宝贵资源。 首先,我们需要了解Android系统是如何处理GPS数据的。Android提供了...
4. **处理GPS数据**:在`onLocationChanged()`方法中,我们可以获取到Location对象,从中提取经纬度、海拔、速度和时间等信息。例如,`location.getLongitude()`和`location.getLatitude()`分别返回经度和纬度。 5....
6. **处理位置信息**:在`onLocationChanged()`方法中,我们可以访问到`Location`对象,从中提取出经纬度、海拔、速度、方向等信息。 7. **优化GPS使用**:为了提高用户体验和节省电池,开发者需要考虑如何优化GPS...
在安卓手机开发中,获取GPS经纬度通常涉及到多个组件和权限的配置。以下是对标题和描述中所述知识点的详细说明: 首先,AndroidManifest.xml是每个Android应用的核心配置文件,其中包含了应用的基本信息、所需的...
通过这个源码项目,开发者不仅可以学习到如何在Android应用中展示地图,还可以了解如何使用Google Maps API获取和显示路径信息,这对于开发导航、定位类的应用非常有帮助。同时,这也涉及到网络请求、JSON解析、UI...
本资源“Android源码——在地图上显示两点间路径源码.7z”提供了一个实现这一功能的示例代码,对于学习Android地图API和路径规划的开发者来说非常有帮助。 首先,我们需要了解Android地图API,它主要由Google Maps ...
4. **基站信息解析**:从`CellInfo`对象中,我们可以提取出基站的小区ID、位置区代码、信号强度等数据,这些都是进行定位计算的重要依据。这些信息需要与运营商的基站数据库进行比对,从而计算出设备的大致位置。 5...
- Android中地图功能主要依赖于Google Maps API,这是一个强大的服务,允许开发者在应用程序中嵌入交互式地图,并且能够获取地图数据、地理编码、路径规划等。 2. **集成Google Maps SDK**: - 首先,需要在...
在Android开发中,显示地图和两点间的路径是常见的需求,特别是在构建导航或地理位置相关的应用时。这个压缩包提供了实现这一功能的源码示例。以下将详细解释如何在Android地图上显示两点间路径的关键知识点。 首先...
当手机接收到信号时,这些信息会被提取出来,与数据库进行匹配,进而计算出手机的大致位置。源码中,我们可以研究数据存储和检索的实现,这可能涉及到SQLite数据库或者其他持久化存储技术。 此外,cellmap v2.0作为...
通过对这些知识点的深入理解和实践,开发者成功地构建了一个从STM32单片机获取GPS数据,通过蓝牙发送到Android手机,并在Webview中显示地图标记的应用。这为物联网(IoT)领域的位置追踪和移动设备的交互提供了一个...
本实例主要演示Android调用google map api 的方法,根据地址获取对应经纬度,定义一个HttpClient用于向指定地址发送请求,向指定地址发送get请求,将服务器返回的字符串转换成JSONObject对象,从JSONObject中提取...
在本项目中,我们关注的是一个基于Android平台的跌倒监护App的开发,该应用具有源码可供学习和参考。这个App主要针对老年人或者身体不便的群体,通过集成硬件传感器来监测用户可能发生的跌倒事件,并采取相应的应急...
然后,可以将这些参数发送到一个服务器,比如Google提供的API,以获取经纬度等地理位置信息。这个过程中,通常需要进行HTTP通信,并处理返回的JSON格式的数据以解析地理位置信息。 实现流程大致可以分为以下几个...