2017-08-11 1 views
0

Je souhaite obtenir la latitude et la longitude d'un nom de lieu saisi par un client à partir de l'API Google Adresses. L'exécution se fige à la deuxième ligne.Client Web Java Freezing WebApp

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); 
    } 

je reçois la trace de la pile suivante, mais je ne peux pas tout à fait Brochage la cause racine comme l'exemple que je suis en cours d'exécution est le plus simple dans les essais prévus.

Bibliothèques incluses dans cette demande sont:

  1. google maps-services en-0.2.1.jar
  2. gson-2.8.1.jar
  3. okhttp-3.8.1.jar
  4. Okio-1.13.0.jar
  5. slf4j-api-1.7.25.jar

C'est aussi un similar issue on github

Ceci est la porte de la trace de la pile I et

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) 
+0

pouvez-vous le résoudre? – TimSchwalbe

+0

@TimSchwalbe oui j'étais enfin capable de le résoudre. J'ai utilisé l'ancienne version parce que l'API google version 0.2.1 a un problème de threading. https://github.com/googlemaps/google-maps-services-java/issues/287#issuecomment-321938011 – qualebs

Répondre

0

Modifier Google API version à 0.2.0 comme ci-dessous dans pom.xml <dependency> <groupId>com.google.maps</groupId> <artifactId>google-maps-services</artifactId> <version>0.2.0</version> ''

Cela va résoudre votre problème