/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package de.bitocean.mm.contextualizer;
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.GeocoderGeometry;
import com.google.code.geocoder.model.GeocoderRequest;
import com.google.code.geocoder.model.GeocoderResult;
import com.google.code.geocoder.model.LatLng;
import java.io.IOException;
import java.util.List;
/**
*
* @author kamir
*/
public class SimpleGeoCoder {
Geocoder geocoder = new Geocoder();
public static void main(String[] args) throws IOException {
SimpleGeoCoder sgc = new SimpleGeoCoder();
String lang = "en";
// double[] latLon = sgc.getLatLonAsDouble( "Paris, France", lang );
double[] latLon = sgc.getLatLonAsDouble( "Frankleben, Germany", lang );
System.out.println( "LAT:" + latLon[0] + " # " + "LON:" + latLon[1] );
}
private static String handleRequest(GeocoderResult r) {
GeocoderGeometry results = r.getGeometry();
LatLng loc = results.getLocation();
String s = loc.toString() + "#" + loc.toUrlValue();
return loc.toUrlValue();
}
public double[] getLatLonAsDouble(String a,String lang) throws IOException {
double[] v = new double[2];
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress(a).setLanguage(lang).getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
List<GeocoderResult> results = geocoderResponse.getResults();
String[] s1 = {"",""};
for( GeocoderResult r : results ) {
String s = handleRequest( r );
s1 = s.split(",");
}
v[0] = Double.parseDouble( s1[0] );
v[1] = Double.parseDouble( s1[1] );
return v;
}
}