SDK是:AMap_Location_V3.6.0_20170918.jar
以下代码段是
public class MyLocationListener implements AMapLocationListener
{
private static MyLocationListener INSTANCE = null;
private Context context;
public LocationInfoListener mListener = null;
private AMapLocationClient mlocationClient;
private AMapLocationClientOption mLocationOption;
public interface LocationInfoListener {
public void backLocationResult(AMapLocation location,int isSuccess);
}
public void setmListener(LocationInfoListener mListener) {
this.mListener = mListener;
}
public MyLocationListener() {
}
public static MyLocationListener getInstance(boolean bool) {
if (INSTANCE == null) {
INSTANCE = new MyLocationListener();
}
return INSTANCE;
}
public void init(Context context, String type) {
this.context = context;
mlocationClient = new AMapLocationClient( context.getApplicationContext());
mlocationClient.setLocationListener(this);
startLoc();
}
@Override
public void onLocationChanged(AMapLocation amapLocation) {
// TODO Auto-generated method stub
if (amapLocation != null && amapLocation.getErrorCode() == 0) {
mListener.backLocationResult(amapLocation, AppConstant.REQ_SUCCESS);
} else {
mListener.backLocationResult(null, -1);
}
stopLoc();
}
public void startLoc() {
mLocationOption = new AMapLocationClientOption();
mLocationOption.setOnceLocation(false);
mLocationOption.setNeedAddress(true);
mLocationOption.setLocationMode(AMapLocationMode.Battery_Saving);
mLocationOption.setWifiActiveScan(true);
mLocationOption.setInterval(2000);
mlocationClient.setLocationOption(mLocationOption);
mlocationClient.startLocation();
}
public void stopLoc() {
mlocationClient.stopLocation();
}
}