3

我正在为我的项目开发一个功能,当用户输入“邮政编码”时,应显示相应“邮政编码”的坐标(纬度、经度)。实施平台是'JAVA'。

我用谷歌搜索了 java api,但没有找到任何特定的资源。

任何建议将不胜感激

4

5 回答 5

8

您也可以(现在)查看用于地理编码、方向、距离矩阵、海拔和时区的开源 Java 客户端库:https ://github.com/googlemaps/google-maps-services-java

于 2014-10-28T00:25:01.943 回答
3

这很简单。例如,看看这个类的 geocode 方法。将您的邮政编码(以及国家/地区)传递给该方法,您应该没问题。(可以在此处找到 GLatLng 类,但应根据需要由您替换。)

[编辑] 我刚刚看到这个示例仍在使用Google Maps v2 ,但将其转换为v3应该是轻而易举的事。在链接的文件中,您还可以找到有关使用此服务的限制(“使用限制”段)

于 2012-10-02T11:47:10.260 回答
1

您可以尝试为Google 地理编码 API RESTful Web 服务编写一个 REST 客户端(使用例如Apache HttpClient) 。

于 2012-10-02T11:27:41.170 回答
0

这是一种方法(包括源): http ://halexv.blogspot.mx/2015/07/java-geocoding-using-google-maps-api.html

该博客解释了如何在没有 API_KEY 的情况下执行此操作,以及一种将位置过滤为最可能的位置的方法。

试试看。

于 2015-07-12T20:37:08.150 回答
0

这方面的文档对新用户不友好。对我来说,Java 文档效果最好,尽管它们非常严格:https ://www.javadoc.io/doc/com.google.maps/google-maps-services/latest/com/google/maps/GeocodingApiRequest.html

以下是使用最新的 Google Geocoding API 的方法:

//use your google api key to create a GeoApiContext instance
GeoApiContext context = new GeoApiContext.Builder().apiKey("xxxxxx").build();

//this will get geolocation details via zip 
GeocodingResult[]results = GeocodingApi.newRequest(context).components(ComponentFiler.postalCode("75002")).await(); 
System.out.println(results[0]);

//this will get geolocation details via address 
GeocodingResult[] results2 = GeocodingApi.geocode(context, "One Apple Park Way Cupertino, CA 95014").await();
System.out.println(results2[0]);

//another way to get geolocation details via address 
GeocodingResult[] results3 = GeocodingApi.newRequest(context).address("One Apple Park Way Cupertino, CA 95014").await();
System.out.println(results3[0]);

//geolocation details via lat lng 
GeocodingResult[] results4 = GeocodingApi.newRequest(context).latlng(latLng).await(); 
System.out.println(results4[0]);           

从那里您将在结果数组中的返回位置上获得一堆数据,您可以根据需要对其进行解析,以提取您选择的数据。继承人是什么数据看起来像前....

[GeocodingResult placeId=ChIJyTSQVXm0j4ARmdUQoA1BpwQ [Geometry: 37.31317000,-122.07238160 (APPROXIMATE) bounds=[37.34159500,-121.99557710, 37.24799500,-122.14382300], viewport=[37.34159500,-121.99557710, 37.24799500,-122.14382300]], formattedAddress=MONTE VISTA, CA 95014, USA, types=[postal_code], addressComponents=[[AddressComponent: "95014" ("95014") (postal_code)], [AddressComponent: "MONTE VISTA" ("MONTE VISTA") (locality, political)], [AddressComponent: "Santa Clara County" ("Santa Clara County") (administrative_area_level_2, political)], [AddressComponent: "California" ("CA") (administrative_area_level_1, political)], [AddressComponent: "United States" ("US") (country, political)]], postcodeLocalities=[Cupertino, MONTE VISTA, Permanente]]
于 2021-02-10T03:35:23.700 回答