现在的位置: 首页 > 综合 > 正文

google 地图定位 用到的一些类以及一些方法

2013年08月22日 ⁄ 综合 ⁄ 共 1552字 ⁄ 字号 评论关闭

哈哈 这个是我的第一篇文章,是我自学的笔记,希望写下来理清思路同时也跟大家分享,不好之处望大家理解!

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数据

抱歉!评论已关闭.