packagedao;

/*

思路就是先根据名称确定经纬度再利用经纬度查询详细的地址

*/importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.UnsupportedEncodingException;importjava.net.MalformedURLException;importjava.net.URL;importjava.net.URLConnection;importcom.alibaba.fastjson.JSONObject;public classTests {/***@paramaddr

* 查询的地址

*@return*@throwsIOException*/

public String[] getCoordinate(String addr) throwsIOException {

String lng= null;//经度

String lat = null;//纬度

String address = null;try{

address= java.net.URLEncoder.encode(addr, "UTF-8");

}catch(UnsupportedEncodingException e1) {

e1.printStackTrace();

}//System.out.println(address);

String url = "http://api.map.baidu.com/geocoding/v3/?output=json&ak=你的ak值&coordtype=wgs84ll&address="+address;

URL myURL= null;

URLConnection httpsConn= null;try{

myURL= newURL(url);

}catch(MalformedURLException e) {

e.printStackTrace();

}

InputStreamReader insr= null;

BufferedReader br= null;try{

httpsConn=(URLConnection) myURL.openConnection();if (httpsConn != null) {

insr= new InputStreamReader( httpsConn.getInputStream(), "UTF-8");

br= newBufferedReader(insr);

String data= null;while((data= br.readLine())!=null){//System.out.println(data);

/** 在这里设置了一个条件判断,根据百度第图的返回值表当输入地址返回值的状态为‘0’时说明地址查询发生了错误

* 此时得到的经纬度也就是空了

* 所以当结果不为0时就退出返回空值,在循环调用的时候就判断其是否为空,决定如何进行下一步操作*/

if (data.charAt(10) != '0') {//System.out.println(data.charAt(10));

return null;

}

JSONObject json=JSONObject.parseObject(data);

lng= json.getJSONObject("result").getJSONObject("location").getString("lng");

lat= json.getJSONObject("result").getJSONObject("location").getString("lat");

}

}

}catch(IOException e) {

e.printStackTrace();

}finally{if(insr!=null){

insr.close();

}if(br!=null){

br.close();

}

}return newString[]{lng,lat};

}public String[] getAddr(String lng,String lat) throwsIOException {//System.out.println(lng );//System.out.println(lat);//String url = "http://api.map.baidu.com/geocoding/v3/?output=json&ak=你的ak值&coordtype=wgs84ll&location="+lat+","+lng;

String url = "http://api.map.baidu.com/reverse_geocoding/v3/?ak=你的ak值&output=json&coordtype=wgs84ll&location="+lat+","+lng;

URL myURL= null;

String province= "";

String city= "";

String qx= "";

String code= "";

URLConnection httpsConn= null;try{

myURL= newURL(url);

}catch(MalformedURLException e) {

e.printStackTrace();

}

InputStreamReader insr= null;

BufferedReader br= null;try{

httpsConn= (URLConnection) myURL.openConnection();//不使用代理

if (httpsConn != null) {

insr= new InputStreamReader( httpsConn.getInputStream(), "UTF-8");

br= newBufferedReader(insr);

String data= null;while((data= br.readLine())!=null){//System.out.println(data);

JSONObject json =JSONObject.parseObject(data);

province= json.getJSONObject("result").getJSONObject("addressComponent").getString("province");

city= json.getJSONObject("result").getJSONObject("addressComponent").getString("city");

qx= json.getJSONObject("result").getJSONObject("addressComponent").getString("district");

code= json.getJSONObject("result").getJSONObject("addressComponent").getString("adcode");

}

}

}catch(IOException e) {

e.printStackTrace();

}finally{if(insr!=null){

insr.close();

}if(br!=null){

br.close();

}

}return newString[]{province,city,qx,code};

}public static void main(String[] args) throwsIOException {

Tests getLatAndLngByBaidu= newTests();

String[] o= getLatAndLngByBaidu.getCoordinate("石家庄铁道大学");

String[] o1= getLatAndLngByBaidu.getAddr(o[0], o[1]);

System.out.println(o1[0]);

System.out.println(o1[1]);

System.out.println(o1[2]);

System.out.println(o1[3]);

}

}

接口获取行政区划代码_调用百度api利用名称查找该名称的省市县以及行政区划代码...相关推荐

  1. java实现文本纠错功能_调用百度API进行文本纠错

    毕设做的是文本纠错方面,然后今天进组见研究生导师 .老师对我做的东西蛮感兴趣.然后介绍自己现在做的一些项目,其中有个模块需要有用到文本纠错功能. 要求1:有多人同时在线编辑文档,然后文档功能有类似Wo ...

  2. python3调用百度API完成人脸识别,检测人种-年龄-性别-颜值-眼镜

    https://ai.baidu.com/docs#/Face-Detect/top 这个是百度人脸识别api 参考博客:https://blog.csdn.net/qq_38412868/artic ...

  3. java调用百度翻译_Java调用百度API实现翻译-Go语言中文社区

    下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见点击打开链接 申请之后,会得到APP_ID和SECURITY_KEY 二.j ...

  4. 百度翻译api设置 java_Java调用百度API实现翻译

    下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见点击打开链接 申请之后,会得到APP_ID和SECURITY_KEY 二.j ...

  5. JS调用百度api接口——实现简单的百度页面

    描述: JS调用百度api接口--实现简单的百度页面 效果: 实现: css文件: @charset "utf-8"; /* CSS Document */ *{margin: 0 ...

  6. SpringBoot项目调用百度API 实现文本与图像审核功能

    SpringBoot项目调用百度API 实现文本与图像审核功能 最近在开发一款微信小程序,其中具有发布帖子的功能,因此需要审核发布的文本与图像(不然开发的微信小程序过不了审).本来是调用微信小程序的A ...

  7. 调用百度API,来实现人脸活体(人脸展示攻击)(人脸反欺骗)的实时检测

    目录 一.登录百度API网站,申请API接口 二.创建应用列表,查看API Key 与 Secret Key 三.应用API Key 与 Secret Key,将模型部署在本地环境中 四.以视频流的方 ...

  8. python通过调用百度api实现语音识别(超详细)

    python通过调用百度api实现语音识别(超详细) 2021.04.18:该文章是在18年,初学Python时写的,所以功能仅限于当时可用,至于现在(貌似依然可用)和以后就不确定了.完整的demo也 ...

  9. 调用百度API实现图像风格转换

    目录 1.作者介绍 2.基本概念 2.1 人工智能云服务与百度智能云 2.2 图像风格转换 3.调用百度API实现图像风格转换 3.1 配置百度智能云平台 3.2 环境配置 3.3 完整代码实现 3. ...

  10. 调用百度api实现驾车路线和时间距离计算

    毕设篇:调用百度api实现驾车路线和时间距离计算 效果展示 html页面: <!DOCTYPE html> <html lang="en"><head ...

最新文章

  1. php7伪静态 源码,PHPWind 8.5和8.7版的伪静态.htaccess规则
  2. Android Studio 中删除项目和项目找回------ Project Structure的使用
  3. JAVA实现调整数组顺序使奇数位于偶数前面问题(《剑指 offer》)
  4. python diango 并发_python - django Model 并发写数据出现重复值
  5. [LeetCode]Find Minimum in Rotated Sorted Array
  6. 【4.0】jdbcTemplate
  7. Vue之组件之间的数据传递
  8. 【LeetCode笔记】剑指Offer 51. 数组中的逆序对(Java、分治)
  9. 高中必背88个数学公式_高中数学:必修+选修全部知识点精华!附高考必背203个公式...
  10. 华为首秀 AI 全栈软件平台!
  11. 通知模式实现两个textField传值及模态视图——iOS开发
  12. Audio播放流程(三)---NuPlayer流程之setAudioStreamType以及prepare
  13. 和菜鸟一起学android4.0.3源码之硬件gps简单移植【转】
  14. 详解 —— HTTP协议
  15. Python爬虫实战之爬取链家广州房价_01简单的单页爬虫
  16. 计算机网络职业生涯规划书模板前言,计算机网络技术专业个人职业生涯规划书(参考模板).doc...
  17. 笑喷了,我用Python帮韦小宝选最佳老婆组合
  18. 基于数字证书的windows安全登录
  19. 使用js拖拽盒子移动()
  20. 万能的APT!编译时注解的妙用

热门文章

  1. (二十六)树莓派3B+ 获取HMC5883L的磁场数据
  2. 微信小程序分享朋友圈API限制问题
  3. Android动画总结
  4. xmapp下mysql的密码更改
  5. Django模板语法和ModelForm
  6. VOCALOID5学习笔记——界面篇
  7. 企业微信好友和微信好友的区别
  8. 三极管放大电路的基本原理
  9. CAD二次开发(VB)代码整理
  10. python-一些文件相关的操作