java根据经纬度获取地址信息

该博客展示了如何在Java中使用百度地图API获取地理位置的详细信息。通过注册并获取百度地图秘钥,实现了一个名为`TestController`的类,该类包含一个静态方法`getProvince`,此方法发送GET请求到百度地图API,获取指定经纬度的省份信息。博客还演示了如何使用阿里的FastJSON库解析返回的JSON数据并提取关键信息。
摘要由CSDN通过智能技术生成

1:获取百度地图秘钥
具体操作就不介绍了,自行去百度地图开放平台注册
2:代码

 package com.tfr.seckill.controller;
import com.alibaba.fastjson.JSONObject;
import java.net.URL;
import java.util.Map;

/**
 * @Description:
 * @ClassName: TestController
 * @Author: Rain
 * @Date: 2021-05-23 21:07
 * @Version: 1.0
 **/
public class TestController {
    public static Map getProvince(String lon, String lat ){
        String ak="您的秘钥";//
//        http://api.map.baidu.com/reverse_geocoding/v3/?ak=您的ak&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194  //GET请求
        String urlString="http://api.map.baidu.com/reverse_geocoding/v3/?ak="+ak+"&output=json&coordtype=wgs84ll&location="+lat+","+lon;
        String res = "";
        try {
            URL url = new URL(urlString);
            java.net.HttpURLConnection conn = (java.net.HttpURLConnection)url.openConnection();
            conn.setDoOutput(true);
            conn.setRequestMethod("GET");
            java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream(),"UTF-8"));
            String line;
            while ((line = in.readLine()) != null) {
                res += line+"\n";
            }
            in.close();
        } catch (Exception e) {
            System.out.println("error in wapaction,and e is " + e.getMessage());
        }
        System.out.println(res);
        JSONObject jsonObject = JSONObject.parseObject(res);
        Object result = jsonObject.get("result");
        Map map = JSONObject.parseObject(JSONObject.toJSONString(result), Map.class);
        return map;
    }
    public static void main(String[] args) {
        Map map = getProvince("118.926910", "42.335752");
        String formatted_address = map.get("formatted_address").toString();
        String business = map.get("business").toString();
        System.out.println(formatted_address+","+business);
    }
}

3:json解析用的阿里的fastjson

   <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.73</version>
   </dependency>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值