Java 如何从OpenStreetMaps API获取给定地址的坐标
所以这个问题对你们中的一些人来说可能很琐碎,但请容忍我,我是这些方面的初学者。 我正在尝试使用Java制作一个桌面应用程序,从API获取各种地理信息(据我所知),这些信息都来自OpenStreetMaps开发人员。 在我的工作流程的第一步,我想做一种“导航”逻辑。 我需要两个地址之间的距离,我知道如何获得该距离,但为了实现这一点,我需要首先将这些地址转换为longlat坐标。 现在代码是:Java 如何从OpenStreetMaps API获取给定地址的坐标,java,jersey,Java,Jersey,所以这个问题对你们中的一些人来说可能很琐碎,但请容忍我,我是这些方面的初学者。 我正在尝试使用Java制作一个桌面应用程序,从API获取各种地理信息(据我所知),这些信息都来自OpenStreetMaps开发人员。 在我的工作流程的第一步,我想做一种“导航”逻辑。 我需要两个地址之间的距离,我知道如何获得该距离,但为了实现这一点,我需要首先将这些地址转换为longlat坐标。 现在代码是: public static String getLongLat(String address) {
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结果。是的,对这个URL的
get
请求返回一个301永久移动
响应,该响应指向
https://nominatim.openstreetmap.org/search?q=Berlin&format=json&polygon=1&addressdetails=1
注意使用了https
而不是http