我想获取客户从 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);
}
我得到了以下堆栈跟踪,但我无法完全确定根本原因,因为我正在运行的示例是提供的测试中最简单的。
我的应用程序中包含的库包括:
- 谷歌地图服务-0.2.1.jar
- gson-2.8.1.jar
- 好的http-3.8.1.jar
- 冲-1.13.0.jar
- 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>
''
这将解决您的问题