Comment dois-je procéder pour convertir une adresse ou une ville en latitude/longitude ? Existe-t-il des entreprises commerciales auprès desquelles je peux "louer" ce service ? Ce service serait utilisé dans une application commerciale de bureau sur un PC Windows avec un accès permanent à Internet.
Réponses
Trop de publicités?Ayant déjà mis au point ma propre solution pour ce problème, je peux recommander de tout cœur l'approche suivante Geo::Coder::US Module Perl pour cela. Il suffit de télécharger toutes les données de recensement et d'utiliser l'importateur inclus pour créer la base de données Berkeley pour votre pays et de faire pointer le script Perl dessus. Utilisez l'analyse d'adresse intégrée au module, et voilà : Un système de géocodage hors ligne !
Essayez avec ce code, je travaille comme ça avec les adresses :
Il s'agit d'un lien dans lequel, avec la méthode GET, vous enverrez une requête et obtiendrez les données de lat et de lng. http://maps.google.com/maps/api/geocode/json?address=YOUR ADDRES&sensor=false
Par exemple : http://maps.google.com/maps/api/geocode/json?address=W Main St, Bergenfield, NJ 07621&sensor=false
1. Créez votre méthode GET.
public static String GET(String url) throws Exception {//GET Method
String result = null;
InputStream inputStream = null;
try {
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
Log.v("ExecuteGET: ", httpGet.getRequestLine().toString());
HttpResponse httpResponse = httpclient.execute(httpGet);
inputStream = httpResponse.getEntity().getContent();
if (inputStream != null) {
result = convertInputStreamToString(inputStream);
Log.v("Result: ", "result\n" + result);
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
2. Créer une méthode pour envoyer la demande
@SuppressWarnings("deprecation")
public static String getLatLng(String accessToken) throws Exception{
String query=StaticString.gLobalGoogleUrl+"json?address="+URLEncoder.encode(accessToken)+"&sensor=false";
Log.v("GETGoogleGeocoder", query+"");
return GET(query);
}
gLobalGoogleUrl \= "http://maps.google.com/maps/api/geocode/"
3. Appelez la méthode getLatLng
String result=getLatLng("W Main St, Bergenfield, NJ 07621");
4. Analyse de JSONObject
Maintenant résultat es JSONObject avec des informations sur l'adresse et la langue. Analyse de JSONObject (résultat) avec gson() . Après cela, utilisez lat,lng.
Si vous avez des questions sur le code, posez-les.
Vous voulez une application de géocodage. Celles-ci sont disponibles soit en ligne, soit en tant que backend d'application.
-
Candidatures en ligne :
- Google a un API de géocodage
-
Applications dorsales :
Maptsraction ( http://www.mapstraction.com ) vous permet de choisir entre un nombre illimité de services de géocodage. Cela pourrait être utile si vous devez en faire de grandes quantités, car je sais que Google a une limite au nombre de géocodages que vous pouvez faire par jour.
Terre virtuelle le fait. Il existe également un service web à l'adresse geocoder.us
1 votes
Semble être un double de stackoverflow.com/questions/158474/
5 votes
Chrétien : Le site Latitude tag est correctement orthographié. Voir : fr.wikipedia.org/wiki/Latitude