微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

您如何将Google地理编码和时区api与官方Java库一起使用?

如何解决您如何将Google地理编码和时区api与官方Java库一起使用?

我知道如何以老式的方式进行呼叫,基本上我只是在构造一个字符串,该字符串是请求的完整网址,然后将其发送给响应。

但是,google拥有此Java可用的库(https://developers.google.com/api-client-library/java),我想使用它。但是,我在他们的github示例页面上找不到与如何使用地理编码或时区API有关的示例。

他们为其他服务提供的示例似乎真的很复杂。我只想看一个基本的示例,说明如何使用我的API密钥构造和进行调用并获得响应。

在伪代码中,我想做的是:

String location = "123 main street,new york,ny";
String response = // send location plus my API key to google geocoder
// Now have a json file response that I can deserialize?

解决方法

我建议您看看Java Client for Google Maps Services是Google Maps团队的官方库,您可以在GitHub上找到它,并且有一些使用它的基本示例。

Readme.md文件中,您将找到有关如何通过Maven或Gradle将该库添加到项目中的说明。

将代码库与Geocoding API结合使用的代码段如下

GeoApiContext context = new GeoApiContext.Builder()
            .apiKey("YOUR_API_KEY")
            .build();
String location = "123 main street,new york,ny";
try {
    GeocodingApiRequest req = GeocodingApi.newRequest(context);
    GeocodingResult[] results = req.address(address).await();
    Gson gson = new GsonBuilder().setPrettyPrinting().create();
    String jsonResults = gson.toJson(results);
} catch(ApiException e){
    //Handle API exceptions here
}   

以下是时区API的代码段

GeoApiContext context = new GeoApiContext.Builder()
            .apiKey("YOUR_API_KEY")
            .build();
LatLng location = new LatLng(41.385064,2.173403);
java.util.TimeZone result = TimeZoneApi.getTimeZone(context,location).await();

有关该库的类和方法的更多详细信息,您可以参考位于以下位置的JavaDoc

https://www.javadoc.io/doc/com.google.maps/google-maps-services/latest/index.html

享受!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。