package dk.daoas.daoadresseservice; import java.io.IOException; import java.util.List; import com.google.code.geocoder.Geocoder; import com.google.code.geocoder.GeocoderRequestBuilder; import com.google.code.geocoder.model.GeocodeResponse; import com.google.code.geocoder.model.GeocoderAddressComponent; import com.google.code.geocoder.model.GeocoderRequest; import com.google.code.geocoder.model.GeocoderResult; import com.google.code.geocoder.model.GeocoderStatus; public class GeocodeHelper { public static void main(String[] args) throws IOException { System.out.println( GeocodeHelper.googleHelper(2800, "Chr. Xs Alle") ); } public static String googleHelper(int postnr, String vejnavn) { try { //Todo: Load api key from context config final Geocoder geocoder = new Geocoder(); String search = vejnavn + ", " + postnr + ", Denmark"; GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress(search).setLanguage("en").getGeocoderRequest(); GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest); //System.out.println( "Status: >" + geocoderResponse.getStatus() + "<"); if ( geocoderResponse.getStatus() != GeocoderStatus.OK) { return null; } List resList = geocoderResponse.getResults(); //System.out.println( "Count: " + resList.size() ); if (resList.size() != 1) { return null; } GeocoderResult res = resList.get(0); List compList = res.getAddressComponents(); for (GeocoderAddressComponent c : compList) { //System.out.println(c); if (c.getTypes().contains("route")) { return c.getLongName(); } } } catch (IOException e) { System.out.println( "GoogleError: " + e.getMessage() ); } return null; } }