首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android的位置服务和map

2012-09-28 
android的位置服务和地图实现位置服务的技术有GPS和google网络地图,将这些不同的定位技术统称为LBS, Locat

android的位置服务和地图
实现位置服务的技术有GPS和google网络地图,将这些不同的定位技术统称为LBS,
LocationManager 有两种定位,GPS和NETWORK
locationProvider
通过他们可以得到某人的当前位置或者进行位置跟踪,和设定区域提醒功能。
1     示例:获取位置信息
androidmanifest.xml
gps方法
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
NETWORK方式
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
定位用户的位置:
//得到LocationManager对象
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
//设定定位方式为GPS_PROVIDER,得到位置对象Location
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double lat = location.getLatitude();
double lng = location.getLongitude();
latLongString = "纬度:" + lat + "\n经度:" + lng;
myLocationText.setText("您当前的位置是:\n" +latLongString);
设定模拟器 显示位置信息。

处理制定定位方式以外还可以使用Criteria让系统选择最符合条件的LOCATIONPROVIDER.
Criteria criteria = new Criteria();
        criteria.setAccuracy(Criteria.ACCURACY_FINE);
        criteria.setAltitudeRequired(false);
        criteria.setBearingRequired(false);
        criteria.setCostAllowed(true);
        criteria.setPowerRequirement(Criteria.POWER_LOW);
        String provider = locationManager.getBestProvider(criteria, true);
可以同时存在多个,根据相关程度系统自行决定
可以用下个方法返回所有与查询条件想符合的locationProvider
List<String>  matchProvider = locationManager.getProvider(criteria, false);

2    跟踪位置变化
设定监听器 locationListener

locationManager.requestLocationUpdates(provider, 2000, 10,        locationListener);    }   private final LocationListener locationListener = new LocationListener() {    public void onLocationChanged(Location location) {    updateWithNewLocation(location);    }    public void onProviderDisabled(String provider){    updateWithNewLocation(null);    }    public void onProviderEnabled(String provider){ }    public void onStatusChanged(String provider, int status,    Bundle extras){ }    };

热点排行