哈哈 这个是我的第一篇文章,是我自学的笔记,希望写下来理清思路同时也跟大家分享,不好之处望大家理解!
1,LocationManager
LocationManager:获取位置信息的途径,常用的有两种:GPS和NETWORK。GPS定位更精确,缺点是只能在户外使用,耗电严重,并且返回用户位置信息的速度远不能满足用户需求。NETWORK通过基站和Wi-Fi信号来获取位置信息,室内室外均可用,速度更快,耗电更少。为了获取用户位置信息,我们可以使用其中一个,也可以同时使用两个。
.RequestLocationUpdates(provider,20000,20,listener)
第一个是驱动,一般有gps和network两种,第二个是更新的时间单位毫秒,第三个是更新的距离单位是米,第四个是位置服务的监听
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
2000, 10, new LocationListener(){
public void onLocationChanged(Location location){
//更新位置
}
});
2,LocationProvider和Criteria(取得最佳的位置)
Criteria类 用于设置查询的限制比如,精确度,耗电量等
LocationProvider在与Criteria绑定 作为mLocationManager.requestLocationUpdates的参数
用法如下:
this.mLocationManager = (LocationManager) super
.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria() ;
criteria.setAccuracy(Criteria.ACCURACY_FINE) ;// 使用最准确精度
criteria.setCostAllowed(false); // 不产生费用
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = this.this.mLocationManager.getBestProvider(criteria, true);
自动选择最适合的驱动(provider)
mLocationManager.requestLocationUpdates(provider,
2000, 10, new LocationListener(){
public void onLocationChanged(Location location){
//更新位置
}
});
3,在地图上标记
ItemizedOverlay<OverlayItem>
是图层Overlay的子类
要继承该类并实现它的方法比如
public MyOverlayImpl(Drawable defaultMarker, Context context)//构造方法
protected OverlayItem createItem(int i)//创建图层
public int size() //图层的大小
protected boolean onTap(int index) { // 单击标记图片之后的操作
public void addOverlayItem(OverlayItem item)//增加图层
//OverlayItem类是位置点
//Overlay类是图层
GeoPoint类
表示一对经、纬度值,以微度的整数形式存储
4,Geocode
1,根据地址查询坐标 返回json或者xml数据
2,根据坐标查找地址 返回json或者xml数据