package iShamrock.Postal.util;
import android.content.Context;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
/**
* Created by Tong on 12.28.
* BaiduLocUtil encapsulates some features of Baidu locSDK.
* Used to open the map in current location.
*/
public class BaiduLocUtil {
public LocationClient mLocationClient;
public BDLocationListener myListener;
public static BDLocation location;
/**
* @param context, recommend getApplicationContext() instead of this.
*/
public void initialize(Context context) {
/* initialize listener*/
LocationClientOption option = new LocationClientOption();
option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);
option.setCoorType("bd0911");
option.setOpenGps(true);
myListener = new MyLocationListener();
mLocationClient = new LocationClient(context);
mLocationClient.setLocOption(option);
mLocationClient.start();
}
public void requestLocation() {
mLocationClient.registerLocationListener(myListener);
mLocationClient.requestLocation();
}
class MyLocationListener implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation loc) {
location = loc;
/* unregister listener after first location succeeded */
mLocationClient.unRegisterLocationListener(myListener);
}
}
}