以前学过wince的gps开发,比较之下,android把gps相关的东西封装的太简单了。
3个相关组件:
通过getSystemService获得LocationManager实例,LocationManager是gps管理类;
通过LocationManager获得具体的LocationProvider,android支持3种不同的定位服务,每一种定位方式对应一个LocationProvider,常用的自然是基于GPS的了;
通过LocationManager可以对具体的LocationProvider请求定位,返回信息是一个Location实例,Location是一个内容类,包含了经纬度、海拔、方向等等定位信息。
写了一个超级入门的定位程序:
使用GPS定位,每3秒返回一次定位结果并显示。
核心代码如下:
疑问:
1.requestLocationUpdates这个方法是LocationManager提供的,我觉得LocationProvider也提供一个更方便一点吧。
3个相关组件:
通过getSystemService获得LocationManager实例,LocationManager是gps管理类;
通过LocationManager获得具体的LocationProvider,android支持3种不同的定位服务,每一种定位方式对应一个LocationProvider,常用的自然是基于GPS的了;
通过LocationManager可以对具体的LocationProvider请求定位,返回信息是一个Location实例,Location是一个内容类,包含了经纬度、海拔、方向等等定位信息。
写了一个超级入门的定位程序:
使用GPS定位,每3秒返回一次定位结果并显示。
核心代码如下:
LocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 0, new LocationListener()
{
public void onLocationChanged(Location loc)
{
tv.setText(loc.toString());
}
public void onProviderDisabled(String pro)
{
}
public void onProviderEnabled(String pro)
{
}
public void onStatusChanged(String pro, int status, Bundle extras)
{
}
});
权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
疑问:
1.requestLocationUpdates这个方法是LocationManager提供的,我觉得LocationProvider也提供一个更方便一点吧。