package com.az.Location;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
public class ABLocationManager {
Handler handler = null;
public static Double latitude = 0.0;
public static Double longitude = 0.0;
public static String address = "";
// 定位类
private LocationClient mLocationClient = null;
private LocationClientOption option = null;
private final String TAG = "ABLocationManager";
public ABLocationManager(Context context, Handler handler) {
this.handler = handler;
mLocationClient = new LocationClient(context);
mLocationClient.registerLocationListener(new MyReceiveListenner());
}
// 接受定位得到的消息
private class MyReceiveListenner implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
// TODO Auto-generated method stub
if (location == null)
return;
latitude = location.getLatitude();
longitude = location.getLongitude();
address = location.getAddrStr();
// Looper.prepare();
//
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putBoolean("LOCATION_FINISH", true);
message.setData(bundle);
handler.sendMessage(message);
// stop loction
mLocationClient.stop();
}
@Override
public void onReceivePoi(BDLocation arg0) {
// TODO Auto-generated method stub
}
}
/**
* start Location
*/
public void startLocation() {
try {
option = new LocationClientOption();
// 设置返回的坐标类型
option.setCoorType("gcj02");
// 设置时间
// option.setScanSpan(myLocationTime);
// 返回地址类型
option.setAddrType("detail");
mLocationClient.setLocOption(option);
// start loction
mLocationClient.start();
} catch (Exception e) {
Log.i(TAG, "打开定位异常" + e.toString());
}
}
}