【发布时间】:2018-01-14 01:41:16
【问题描述】:
我使用了一些技巧来检索我当前的确切位置地址,但这不是一个非常强大的解决方案,因为我正在使用 Google Places API,我更愿意在我解析的地方使用 Place Objects 与 Strings那里的地址。
所以我决定尝试通过 Places API 使用他们网站上提供的算法找到我当前的地址,该算法可以找到用户当前位置的“最有可能”的地方。 (https://developers.google.com/places/android-api/current-place)
PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi
.getCurrentPlace(mGoogleApiClient, null);
result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
@Override
public void onResult(PlaceLikelihoodBuffer likelyPlaces) {
for (PlaceLikelihood placeLikelihood : likelyPlaces) {
Log.i(TAG, String.format("Place '%s' has likelihood: %g",
placeLikelihood.getPlace().getName(),
placeLikelihood.getLikelihood()));
}
likelyPlaces.release();
}
});
所以我试了一下,结果是:
Place 'XXXXXXX' has likelihood: 0.600000
Place 'MyStreetAddress' has likelihood: 0.0500000
Place 'YYYYYYY' has likelihood: 0.00000
Place 'ZZZZZZZ' has likelihood: 0.00000
第一个“最有可能”的建议是距我当前位置大约 6 公里,第二个建议是我的确切街道地址。有没有办法让它更准确或提供某种过滤器,以便它只能推荐某些特定地址而不是“泰晤士河”或“泰卢斯体育场”等一般地点?
【问题讨论】:
标签: android location google-places-api