Android Place Picker (PlacePicker) ya no tiene el icono de búsqueda después de actualizar a Google Play Services 9.0.83
Muy recientemente, algunos de mis usuarios comenzaron a informar que elicono de búsqueda había desaparecido del widget de interfaz de usuario PlacePicker. Pude aislar el problema de la actualización a Google Play Services 9.0.83. ¿Alguien ha encontrado una solución para volver a recuperar el icono de búsqueda?
Actualizar: También noté que elsetLatLngBounds () El método de la clase PlacePicker.IntentBuilder ya no funciona correctamente después de actualizar a 9.0.83. Centra el mapa en 0 lat, 0 de largo en el océano frente a la costa de África. Mientras no invoque setLatLngBounds (), el PlacePicker se centrará en mi ubicación actual.
Actualizar: Tengo una idea, pero necesito la ayuda de todos. Basado en información de este sitio webapkmirror.com Hay subversiones de 9.0.83 basadas en la CPU y la pantalla DPI. En el Administrador de aplicaciones, seleccione Servicios de Google Play y la subversión debe estar entre paréntesis junto a la versión, la mía es440-121911109, publique el suyo en los comentarios si tiene el mismo problema Tal vez podamos encontrar un denominador común.
Antes de actualizar a Google Play Services 9.0.83
Después de actualizar a Google Play Services 9.0.83
static final int PPR = 41;
private GoogleApiClient googleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.place_picker_activity);
googleApiClient = new GoogleApiClient
.Builder(this)
.addApi(Places.GEO_DATA_API)
.addApi(Places.PLACE_DETECTION_API)
.enableAutoManage(this, this)
.build();
Button btnLaunch = (Button) findViewById(R.id.buttonLaunch);
btnLaunch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (googleApiClient.isConnected()) {
try {
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
startActivityForResult(builder.build(PlacePickerActivity.this), PPR);
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
} else {
Toast.makeText(getApplicationContext(),"Google api not connected yet", Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
protected void onStart() {
super.onStart();
googleApiClient.connect();
}
@Override
protected void onStop() {
super.onStop();
if (googleApiClient.isConnected()) {
googleApiClient.disconnect();
}
}
@Override
public void onConnected(Bundle connectionHint) { }
@Override
public void onConnectionFailed(ConnectionResult result) {
Toast.makeText(getApplicationContext(), "Connection failed: " + result.getErrorCode(), Toast.LENGTH_LONG).show();
}
@Override
public void onConnectionSuspended(int cause) {
Toast.makeText(getApplicationContext(), "Connection suspended",Toast.LENGTH_LONG).show();
googleApiClient.connect();
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PPR) {
if (resultCode == RESULT_OK) {
Place place = PlacePicker.getPlace(this, data);
Toast.makeText(this, ""+place.getName(), Toast.LENGTH_LONG).show();
}
}
}