gpt4 book ai didi

android - 从 Android 上的 Google Place API 获取城市名称和邮政编码

转载 作者:IT老高 更新时间:2023-10-28 23:17:40 28 4
gpt4 key购买 nike

我正在使用 Google Place API for Android自动完成

一切正常,但是当我得到如图所示的结果时 here ,我没有城市和邮政编码信息。

    private ResultCallback<PlaceBuffer> mUpdatePlaceDetailsCallback
= new ResultCallback<PlaceBuffer>() {
@Override
public void onResult(PlaceBuffer places) {
if (!places.getStatus().isSuccess()) {
// Request did not complete successfully
Log.e(TAG, "Place query did not complete. Error: " + places.getStatus().toString());

return;
}
// Get the Place object from the buffer.
final Place place = places.get(0);

// Format details of the place for display and show it in a TextView.
mPlaceDetailsText.setText(formatPlaceDetails(getResources(), place.getName(),
place.getId(), place.getAddress(), place.getPhoneNumber(),
place.getWebsiteUri()));

Log.i(TAG, "Place details received: " + place.getName());
}
};

Place类不包含该信息。我可以获得完整的人类可读地址、经纬度等。

如何从自动填充结果中获取城市和邮政编码?

最佳答案

您通常无法从 Place 中检索城市名称,
但是你可以通过这种方式轻松获得它:
1) 从你的地方获取坐标(或者你得到它们);
2)使用Geocoder通过坐标检索城市。
可以这样做:

private Geocoder mGeocoder = new Geocoder(getActivity(), Locale.getDefault());

// ...

private String getCityNameByCoordinates(double lat, double lon) throws IOException {

List<Address> addresses = mGeocoder.getFromLocation(lat, lon, 1);
if (addresses != null && addresses.size() > 0) {
return addresses.get(0).getLocality();
}
return null;
}

关于android - 从 Android 上的 Google Place API 获取城市名称和邮政编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29784783/

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