我使用Google Places API
在Android上工作。
我在运行PlaceDetectionApi的getCurrentPlace方法时遇到了问题。我在方法的PlaceLikelihoodBuffer
中获得的resultcallback
是空的,当我在我的logcat中打印errorstatus
时,它说错误代码是13并且在logcat中,我也可以阅读" D / PlaceInferenceEngine: No place inference engine is running, returning null"
。
我在模拟器上的AVD中运行它,遗憾的是我暂时无法在真实设备上测试它。
所以,问题是:这个地方推理引擎是什么?如何让它在我的AVD上运行?
相关的代码是:
public void getCurrentPosition(int requestCode) {
if(ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) !=
PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION},
requestCode);
} else {
if(requestCode == PERMISSION_REQUEST_GET_CURRENT_POSITION) {
PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi.getCurrentPlace(client, new PlaceFilter());
result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
@Override
public void onResult(PlaceLikelihoodBuffer placeLikelihoods) {
System.out.println("inside callback...");
Status status = placeLikelihoods.getStatus();
System.out.println(status.isSuccess());
System.out.println(status.getStatusCode());
System.out.println(status.getStatusMessage());
for (PlaceLikelihood placeLikelihood : placeLikelihoods) {
Place place = placeLikelihood.getPlace();
System.out.println("possible place: " + place.getAddress());
}
placeLikelihoods.release();
}
});
}
}
}
我的logcat中的结果是:
06-19 14:39:33.436 1865-2848/com.google.android.gms.persistent D/PlaceInferenceEngine: No place inference engine is running, returning null
06-19 14:39:33.437 1865-2284/com.google.android.gms.persistent W/Places: getLastLocation returned null. Falling back to location updates
06-19 14:39:33.621 1865-2148/com.google.android.gms.persistent W/GCoreFlp: No location to return for getLastLocation()
06-19 14:39:43.478 1865-2284/com.google.android.gms.persistent E/Places: Timed out waiting for a location for getCurrentPlace
06-19 14:39:43.500 2760-2760/com.example.kevin.mapproject I/System.out: inside callback...
06-19 14:39:43.500 2760-2760/com.example.kevin.mapproject I/System.out: false
06-19 14:39:43.500 2760-2760/com.example.kevin.mapproject I/System.out: 13
06-19 14:39:43.500 2760-2760/com.example.kevin.mapproject I/System.out: ERROR