我在尝试使用谷歌地理编码API通过纬度和经度获取国家和城市名称。这个库https://github.com/googlemaps/google-maps-services-java提供了API的JAVA实现。
以下是我当前的处理方式:
问题是:
有5个级别的
所以问题是-如何从结果中准确提取城市名称?或者我需要如何正确地形成请求?
P.S. 这不是移动应用程序。
以下是我当前的处理方式:
GeoApiContext context = new GeoApiContext().setApiKey("AI... my key");
GeocodingResult[] results = GeocodingApi.newRequest(context)
.latlng(new LatLng(40.714224, -73.961452)).language("en").resultType(AddressType.COUNTRY, AddressType.ADMINISTRATIVE_AREA_LEVEL_1).await();
logger.info("Results lengh: "+ results.length);
for(int i =0; i< results[0].addressComponents.length; i++) {
logger.info("Address components "+i+": "+results[0].addressComponents[i].shortName);
}
问题是:
有5个级别的
AddressType.ADMINISTRATIVE_AREA_LEVEL_1
,城市名称根据特定位置/国家位于不同的级别上。所以问题是-如何从结果中准确提取城市名称?或者我需要如何正确地形成请求?
P.S. 这不是移动应用程序。
administrative_area_level_2
应该被翻译为城市。 - Ankur Singhal