Próbuję użyć Geocoder API
dla java pod adresem: http://code.google.com/p/geocoder-java/geocoder API dla Javy
Są to linie kodu mam napisane, i działa idealnie, gdy uruchomię go jako aplikacja internetowa GAE.
final Geocoder geocoder = new Geocoder();
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress(req.getParameter("location").toString()).setLanguage("en").getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
List<GeocoderResult> someList = geocoderResponse.getResults();
GeocoderResult data = someList.get(0);
GeocoderGeometry data_2 = data.getGeometry();
BigDecimal Latitude = data_2.getLocation().getLat();
BigDecimal Longitude = data_2.getLocation().getLng();
Co robi jest, że dam w tekście, na przykład Nowym Jorku, a ona dowiaduje się długość i szerokość geograficzną tego obszaru.
Jednak, gdy wstawiam te same linie kodu do GAE, czasami gdy uruchomię ten kod, otrzymam wyjątek dotyczący wyjątków w "GeocoderResult data = someList.get(0)
";
Czasami nie dostaję błędu i poprawnie wyświetla współrzędne na stronie. Więc jestem trochę zdezorientowany, na stronie internetowej, pokazuje, że obsługuje GAE, czy jest coś nie tak z geocoder
dostarczonych przez samo Google ma jakiś problem?
Zazwyczaj nie działa po południu lub północy w czasie wschodnim.