我已经使用了一些黑客来检索我当前的确切地址,但它并不是一个非常强大的解决方案,因为我正在使用Google Places API,我宁愿与之合作放置对象与字符串,我从那里解析地址。
所以我决定尝试通过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
第一个,&#34;最有可能&#34;建议离我目前的位置约6公里,第二个建议是我的确切街道地址。反正是为了使它更精确或提供某种过滤器,所以它只能推荐某些特定的地址,而不是像#34; Thames River&#34;或&#34; Telus Stadium&#34;?
答案 0 :(得分:0)
我发现您需要将GPS设置为“高精度”模式。一切都是固定的。