Java Android studio地理编码器获取位置类别

Java Android studio地理编码器获取位置类别,java,android-studio,maps,Java,Android Studio,Maps,我在android studio中使用Geocoder类,通过这样做,我可以获得国家名称和地址 Geocoder geocoder = new Geocoder(this, Locale.getDefault()); List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1); if (addresses != null && addresses.size() &

我在android studio中使用Geocoder类,通过这样做,我可以获得国家名称和地址

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
    List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1);
    if (addresses != null && addresses.size() > 0) {
        userCountry = addresses.get(0).getCountryName();
        userAddress = addresses.get(0).getAddressLine(0);
}
但它只是给了我一个城市的名字

当我试着

addresses.get(0).getFeatureName()

它只是给了我一个数字,所以我不确定那个数字是什么。

地理编码者无法提供类型

此外,geocoder并非在所有设备上都可用

相反,我建议使用谷歌地理编码API

它返回位置类型及其名称。 有关更多信息,请阅读此处:
您可以将经度和纬度与Google Places API一起使用

通过API,您将能够判断用户是否靠近城市位置,如健身房或公园


您可以找到有关此API的更多信息。

此API是要花钱还是我没有正确理解它?这应该有助于您更好地理解它:
addresses.get(0).getFeatureName()