如何从 OpenStreetMaps API 中的给定地址获取坐标
How does one get Coordinates from a given address from the OpenStreetMaps API
所以这个问题对你们中的一些人来说可能看起来很微不足道,但请耐心等待,我是这些事情的初学者。
我正在尝试使用 Java 制作一个桌面应用程序,它从 API 获取各种地理信息(据我所知)都来自 OpenStreetMaps 开发人员。
在我的工作流程的第一步中,我想制作一种 "navigation" 逻辑。
我需要两个地址之间的距离,并且我知道如何获得该距离,但要使其正常工作,我需要先将这些地址转换为 longlat 坐标。
现在代码:
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;
}
我还没有对返回的信息做任何重要的事情,因为有 none。现在,如果我在浏览器栏中输入确切的 URL,它会给我一个格式良好的 JSON 视图,我可以看到我需要的所有详细信息,包括坐标和边界。但是,如果我执行这个小代码片段,它 returns 会显示一条消息“301 - 永久移动”,但我真的不明白为什么或如何解决这个问题,所以我的 Java 应用程序得到了正确的 JSON结果。
是的,GET
对此 URL 的请求 returns 301 Moved Permanently
指向
的响应
https://nominatim.openstreetmap.org/search?q=Berlin&format=json&polygon=1&addressdetails=1
注意使用 https
而不是 http
。
所以这个问题对你们中的一些人来说可能看起来很微不足道,但请耐心等待,我是这些事情的初学者。 我正在尝试使用 Java 制作一个桌面应用程序,它从 API 获取各种地理信息(据我所知)都来自 OpenStreetMaps 开发人员。 在我的工作流程的第一步中,我想制作一种 "navigation" 逻辑。 我需要两个地址之间的距离,并且我知道如何获得该距离,但要使其正常工作,我需要先将这些地址转换为 longlat 坐标。 现在代码:
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;
}
我还没有对返回的信息做任何重要的事情,因为有 none。现在,如果我在浏览器栏中输入确切的 URL,它会给我一个格式良好的 JSON 视图,我可以看到我需要的所有详细信息,包括坐标和边界。但是,如果我执行这个小代码片段,它 returns 会显示一条消息“301 - 永久移动”,但我真的不明白为什么或如何解决这个问题,所以我的 Java 应用程序得到了正确的 JSON结果。
是的,GET
对此 URL 的请求 returns 301 Moved Permanently
指向
https://nominatim.openstreetmap.org/search?q=Berlin&format=json&polygon=1&addressdetails=1
注意使用 https
而不是 http
。