gpt4 book ai didi

Android Place API : PlaceDetectionApi. getCurrentPlace() 始终不返回任何结果

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:53 24 4
gpt4 key购买 nike

我已经使用 Place API for Android 尝试使用 Places.PlaceDetectionApi.getCurrentPlace() 获取附近的地点。

但是,当我运行该应用程序并尝试获取附近的地点时,我总是得不到任何结果。

我确信我已经设置了权限“ACCESS_FINE_LOCATION”,并启用了“Google Place API”,并且还设置了适当的 API_KEY。

以下是我使用的 Activity 。

public class PlaceLikelihoodActivity extends Activity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {

private GoogleApiClient mGoogleApiClient;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_place_likelihood);

mGoogleApiClient = new GoogleApiClient
.Builder(this)
.addApi(LocationServices.API)
.addApi(Places.GEO_DATA_API)
.addApi(Places.PLACE_DETECTION_API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}

//function triggered by a button to get nearby places
public void onPlaceLikelihood(View view) {
Log.i("Place", "onPlaceLikelihood");
if (mGoogleApiClient != null) {

PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi
.getCurrentPlace(mGoogleApiClient, null);

result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
@Override
public void onResult(PlaceLikelihoodBuffer likelyPlaces) {
Log.i("Place", "onResult");
if (likelyPlaces.getCount() <= 0) {
Toast.makeText(PlaceLikelihoodActivity.this, "No place found", Toast.LENGTH_SHORT).show();
}
for (PlaceLikelihood placeLikelihood : likelyPlaces) {
Log.i("Place", String.format("Place '%s' has likelihood: %g",
placeLikelihood.getPlace().getName(),
placeLikelihood.getLikelihood()));
}
likelyPlaces.release();
}
});
}
else{
Toast.makeText(PlaceLikelihoodActivity.this, "No GoogleApiClient", Toast.LENGTH_SHORT).show();
}

}


@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}

@Override
protected void onStop() {
mGoogleApiClient.disconnect();
super.onStop();
}

@Override
public void onConnected(Bundle bundle) {
Toast.makeText(this, "onConnected", Toast.LENGTH_LONG).show();

}

@Override
public void onConnectionSuspended(int i) {
Toast.makeText(this, "onConnectionSuspended", Toast.LENGTH_LONG).show();
}

@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
Toast.makeText(this, "onConnectionFailed", Toast.LENGTH_LONG).show();
}
}

最佳答案

尝试调用 mGoogleApiClient.connect();在 onCreate 方法中。并可能检查 mGoogleApiClient.isConnected() 除了 mGoogleApiClient != onPlaceLikelihood 中的 null。

关于Android Place API : PlaceDetectionApi. getCurrentPlace() 始终不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32257103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com