JAVA:使用json映射从URL中获取位置

时间:2019-03-19 17:44:45

标签: java json geocoding

我想从地理编码搜索中获取所有位置(经纬度坐标),这些位置与特定范围内的地铁站相匹配。可以说我想获得威斯敏斯特(伦敦以外的伦敦居民区)所有地铁站的位置。所以我想我必须为这些边界内的所有可能的lat-lng坐标创建一个url(可能带有一个循环或类似的东西),创建一个基于url.toString()构建的jsonObject,并检查它是否具有train_station输入其地址部分。问题是2,按时间顺序排列。 1)如何以一种不错的方式获取所选边界内所有lat-lng坐标的网址。 2)如何检查从该URL创建的jsonObjected是否包含train_station类型? 我想获得一个可以完成这些任务的方法的摘要,以便我可以进行处理...我是全新的机智url,jsonObjects和地图,对不起:(。

啊,在我的MapFunctionality类中,我已经有一种类似的方法,可以使用基于urlconnection的json对象从lat-lng坐标中获取地址。

 public String getAddressString(double lat, double lon){
    String address= null;
    try {
        URL url = new URL("https://maps.googleapis.com/maps/api/geocode/json?latlng="+lat+","+lon+"&key=AIzaSyBjcgL_1rQcwnlrJo80Fzz6Xvcq2yYSRxg");
        URLConnection con = url.openConnection();
        BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
        StringBuilder sb = new StringBuilder();
        String line;
        while ((line = br.readLine()) != null) {
            sb.append(line);
        }
        JSONObject json = new JSONObject(sb.toString());
        System.out.println(json);
        String intermidiate = json.getString("results");
        intermidiate = intermidiate.substring(1, intermidiate.length()-1);
        json = new JSONObject(intermidiate);
        address = json.getString("formatted_address");
    } 
    catch (Exception e) {
        e.printStackTrace();
    }
    return address;
}

我希望我已经很清楚地发布了问题。无论如何,如果有什么事情请您指出,我将尝试编辑该帖子,以使其更“易于理解”:DD

0 个答案:

没有答案