谷歌地图服务Java客户端冻结WebApp



我想获取客户从 Google 地点 API 输入的位置名称的纬度和经度。执行在第二行冻结。

try {
GeoApiContext context = new GeoApiContext.Builder().apiKey("MY_API_KEY").build();
PlaceDetails placeDetails = PlacesApi.placeDetails(context, "Nairobi").await();
double lat = placeDetails.geometry.location.lat;
double lng = placeDetails.geometry.location.lng;
} catch (ApiException | InterruptedException | IOException apiException) {
apiException.printStackTrace(System.out);
}

我得到了以下堆栈跟踪,但我无法完全确定根本原因,因为我正在运行的示例是提供的测试中最简单的。

我的应用程序中包含的库包括:

  1. 谷歌地图服务-0.2.1.jar
  2. gson-2.8.1.jar
  3. 好的http-3.8.1.jar
  4. 冲-1.13.0.jar
  5. SLF4J-API-1.7.25.jar

这也是github上的类似问题。

这是我门控的堆栈跟踪和

Info:   apartments was successfully deployed in 2,737 milliseconds.
Severe:   SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
Severe:   SLF4J: Defaulting to no-operation (NOP) logger implementation
Severe:   SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Severe:   Exception in thread "RateLimitExecutorDelayThread"
Severe:   java.lang.NoSuchMethodError: com.google.common.util.concurrent.RateLimiter.acquire()D
at com.google.maps.internal.RateLimitExecutorService.run(RateLimitExecutorService.java:75)
at java.lang.Thread.run(Thread.java:745)

将 Google API 版本更改为 0.2.0,如下所示.xml<dependency><groupId>com.google.maps</groupId><artifactId>google-maps-services</artifactId><version>0.2.0</version>''

这将解决您的问题

相关内容

  • 没有找到相关文章

最新更新