从自动完成中选择地址后,Google Place API For Android Map指向错误位置(0,0)
它以前工作正常。我的意思是,代码从几个月前就没有改变过。这就是现在发生的情况,在我从自动完成中单击一个地址之后 这就是我如何调用自动完成和地图后,选择一个位置从自动完成中选择地址后,Google Place API For Android Map指向错误位置(0,0),android,google-maps,google-places-api,Android,Google Maps,Google Places Api,它以前工作正常。我的意思是,代码从几个月前就没有改变过。这就是现在发生的情况,在我从自动完成中单击一个地址之后 这就是我如何调用自动完成和地图后,选择一个位置 private void openPlaceAutoComplete(){ try { long touchTime = System.currentTimeMillis(); if(touchTime - latestTouchedTime > BOUNCE_DELAY){
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();
}
}
然后,在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();
}
}
}
我要确保这个位置不为null,它有一个LatLng对象,它不是0,0,GetBoundsFromCenter函数就是这样的
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);
}
不幸的是,这是当前版本的PlacePicker中的一个bug。有关更多信息,请参阅。我正在使用8.0.4,并尝试使用多个播放服务版本,包括9.02。目前,应用程序需要显示自动完成中当前选定的地址,并加载附近的位置。你知道不使用setLatLngBounds吗?有时我也有同样的问题