编辑:
public class BuscarActivity extends ListActivity {
private GoogleMap mMapa;
private LocationManager locationManager;
private Location location;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.buscar_activity);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
mMapa = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapaBuscar))
.getMap();
mMapa.setMyLocationEnabled(true);
locationManager = new LocationManager(this);
getLocalizacion();
mMapa.setOnCameraChangeListener(new OnCameraChangeListener() {
//con el objeto position puedo recuperar todos los datos necesarios
public void onCameraChange(CameraPosition position) {
getLocation();
}
});
}
private void getLocalizacion() {
//I'm used this firstly
//location = mMapa.getMyLocation();
//but now I'm using this although anyone works now
location = locationManager.getLocation();
}
public class LocationManager implements ConnectionCallbacks, OnConnectionFailedListener {
protected GoogleApiClient mGoogleApiClient;
public static Location mLastLocation;
private Context context;
public LocationManager(Context c) {
this.context = c;
buildGoogleApiClient();
onStart();
}
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(context)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API).build();
}
@Override
public void onConnected(Bundle connectionHint) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
}
public Location getLocation(){
return mLastLocation;
}
@Override
public void onConnectionFailed(ConnectionResult result) {
Log.i("conection fail", "Connection failed: ConnectionResult.getErrorCode() = "
+ result.getErrorCode());
}
public void onDisconnected() {
Log.i("disconnected", "Disconnected");
}
@Override
public void onConnectionSuspended(int cause) {
Log.i("connection fail", "Connection suspended");
mGoogleApiClient.connect();
}
public void onStart() {
mGoogleApiClient.connect();
}
public void onStop() {
if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.disconnect();
}
}
}
答案 0 :(得分:0)
我认为密钥不会过期,请尝试发布您可能遗漏的代码