Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从自动完成中选择地址后,Google Place API For Android Map指向错误位置(0,0)_Android_Google Maps_Google Places Api - Fatal编程技术网

从自动完成中选择地址后,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吗?有时我也有同样的问题