因此,对于您中的某些人来说,这个问题似乎微不足道,但请允许我,我是这些方面的初学者。 我正在尝试使用Java制作一个桌面应用程序,该应用程序从API(据我所知)中获取所有来自OpenStreetMaps开发人员的地理信息。 在我的工作流程的第一步中,我要进行某种“导航”逻辑。 我需要两个地址之间的距离,并且我知道如何获得该距离,但是要使其正常工作,我需要先将这些地址转换为经纬度坐标。 现在的代码:
public static String getLongLat(String address) {
String temp = "";
JSONObject longlat = makeRequest("http://nominatim.openstreetmap.org/search?q="+address+"&format=json&polygon=1&addressdetails=1","get");
String lon = longlat.getString("lon");
String lat = longlat.getString("lat");
System.out.println(lon);
System.out.println(lat);
return temp;
}
我还没有对返回的信息做任何重要的事情,因为没有信息。现在,如果我在浏览器栏中键入确切的URL,它将为我提供格式良好的JSON视图,并且我可以看到我需要的所有详细信息,包括坐标和界限。但是,如果我执行此小代码段,则会返回一条消息,指出“ 301-永久移动”,但我并没有真正了解为什么或如何解决此问题,因此我的Java应用程序无法获得正确的JSON结果。
答案 0 :(得分:1)
是的,对此URL的dispatchDraw
请求返回了指向该对象的GET
响应
301 Moved Permanently
请注意使用https://nominatim.openstreetmap.org/search?q=Berlin&format=json&polygon=1&addressdetails=1
而不是https
。