Геокодирование с Java API - PullRequest
       30

Геокодирование с Java API

0 голосов
/ 15 октября 2018

Я использую Nominatim java api для nomitim, чтобы получить атрибуты долготы и широты для данного адреса: https://github.com/AtlisInc/Nominatim-API. Для всех различных входных значений долготы и широты одинаковые. Для широты = 51.3258094 и для долготы = 11.3400106.Что я делаю неправильно?Вот код:

public class Geocoding(){
private volatile NominatimAPI nominatimAPI;//Use Volatile
public NominatimAPI getNominatimAPI(){
NominatimAPI result=nominatimAPI;
if(result==null){
    synchronized (this){//Synchronize for thread safety
        result=nominatimAPI;
        if (result==null){
            result=new NominatimAPI();
            nominatimAPI=result;
        }
    }
}
return result;
}

private static void mymethod2() {
    List<String> cities = Arrays.asList("Los Angeles","Berlin");
    String endpointUrl = "https://nominatim.openstreetmap.org/";
    MapPoint mapPoint;
    Geocoding test=new Geocoding();
    for (String city : cities) {
        NominatimAPI nominatim = test.getNominatimAPI();
        Address address = new Address();
        address.setCity(city);
        nominatim.initNominatimAPI(endpointUrl);
        mapPoint = nominatim.getMapPointFromAddress(address, 18);
       System.out.println(mapPoint.getLatitude()+","+mapPoint.getLongitude());
}
}
}

1 Ответ

0 голосов
/ 16 октября 2018

Вместо использования address.setCity(city); я использовал address.setCountry(city). Для каждого ввода, который ссылается на адрес для nominatim, вы можете использовать с setCountry. Он возвращает истинные значения долготы и широты. Я не понимаю, почему работает только setCountry, но это.

...