java中 输入地址,查询经纬度坐标实例

输入地址,查询经纬度坐标

首先需要去百度地图api申请秘钥 http://developer.baidu.com/map/

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author 
 * @since 2021/7/20
 */
public class T {

    public static void main(String[] args) throws IOException {

         T t = new T();
         Object[] objects = t.getCoordinate("上海市宝山区杨泰路386号B-906");
        System.out.println("经度:"+objects[0]);
        System.out.println("纬度:"+objects[1]);
    }
    public Object[] getCoordinate(String addr) throws IOException {
        String address = null;
        String lat = null; //经度
        String lng = null;//纬度
        try {
            address= URLEncoder.encode(addr,"UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        String key = "b823ffcfdefb488***************";//百度地图申请ak
        String url = String .format("http://api.map.baidu.com/geocoder?address=%s&output=json&key=%s", address, key);
        URL myURL=null;
        URLConnection httpsConn=null;
        try {
            myURL=new URL(url);//创建URL对象
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        InputStreamReader instr=null;
        BufferedReader br=null;
        try {
            httpsConn=(URLConnection) myURL.openConnection(); //URL调用openConnection()方法从它创建一个URLConnection对象,会抛出IOException异常
            if (httpsConn !=null){
                instr=new InputStreamReader(httpsConn.getInputStream(),"UTF-8");//获取输入流
                br=new BufferedReader(instr);//从字符流中读取文本并缓冲字符
                String data=null;
               
                int count = 1;
                while((
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值