gpt4 book ai didi

java - 使用 java API 进行地理编码

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:47 27 4
gpt4 key购买 nike

我正在使用Nominatim java api for 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());
}
}
}

最佳答案

我没有使用address.setCity(city);,而是使用address.setCountry(city)。对于每个引用地址的输入,您可以与setCountry一起使用。它返回真实的经度和纬度值。我不明白为什么只有setCountry有效,但它确实有效。

关于java - 使用 java API 进行地理编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52813219/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com