Es funktioniert gut früher. Ich meine, der Code wurde seit einigen Monaten nicht geändert. Das passiert jetzt, nachdem ich auf eine Adresse von der Autocomplete geklickt habe.Google Place-API für Android-Map-Punkt auf falschen Standort (0,0) nach Auswahl einer Adresse aus Autocomplete
Dies ist, wie ich das Auto abgeschlossen ist und die Karten nach dem einen Ort wählen nennen.
private void openPlaceAutoComplete(){
try {
long touchTime = System.currentTimeMillis();
if(touchTime - latestTouchedTime > BOUNCE_DELAY){
latestTouchedTime = touchTime;
Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_OVERLAY)
.build(this.getActivity());
startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST);
}
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}
Dann auf ActivityResult
else if(requestCode == PLACE_AUTOCOMPLETE_REQUEST){
if(resultCode == Activity.RESULT_OK){
Place place = PlaceAutocomplete.getPlace(this.getFragmentBaseContext(), data);
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
builder.setLatLngBounds(LocationHelper.getBoundsFromCenter(place.getLatLng(), PLACE_BOUND_RADIUS));
try{
startActivityForResult(builder.build(getActivity()), PLACE_PICKER_REQUEST);
}catch (GooglePlayServicesNotAvailableException ex){
ex.printStackTrace();
}catch (GooglePlayServicesRepairableException ex){
ex.printStackTrace();
}
}
}
ich machen sicher, dass der Platz nicht null ist, und es hat LatLng Objekt, das nicht 0,0 und GetBoundsFromCenter Funktion ist einfach so.
public static LatLngBounds getBoundsFromCenter(LatLng center, double radius){
LatLng southwest = SphericalUtil.computeOffset(center, radius * Math.sqrt(2.0), 225);
LatLng northeast = SphericalUtil.computeOffset(center, radius * Math.sqrt(2.0), 45);
return new LatLngBounds(southwest, northeast);
}
manchmal habe ich das gleiche Problem – Simon