接口获取行政区划代码_调用百度api利用名称查找该名称的省市县以及行政区划代码...
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利用名称查找该名称的省市县以及行政区划代码...相关推荐
- java实现文本纠错功能_调用百度API进行文本纠错
毕设做的是文本纠错方面,然后今天进组见研究生导师 .老师对我做的东西蛮感兴趣.然后介绍自己现在做的一些项目,其中有个模块需要有用到文本纠错功能. 要求1:有多人同时在线编辑文档,然后文档功能有类似Wo ...
- python3调用百度API完成人脸识别,检测人种-年龄-性别-颜值-眼镜
https://ai.baidu.com/docs#/Face-Detect/top 这个是百度人脸识别api 参考博客:https://blog.csdn.net/qq_38412868/artic ...
- java调用百度翻译_Java调用百度API实现翻译-Go语言中文社区
下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见点击打开链接 申请之后,会得到APP_ID和SECURITY_KEY 二.j ...
- 百度翻译api设置 java_Java调用百度API实现翻译
下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见点击打开链接 申请之后,会得到APP_ID和SECURITY_KEY 二.j ...
- JS调用百度api接口——实现简单的百度页面
描述: JS调用百度api接口--实现简单的百度页面 效果: 实现: css文件: @charset "utf-8"; /* CSS Document */ *{margin: 0 ...
- SpringBoot项目调用百度API 实现文本与图像审核功能
SpringBoot项目调用百度API 实现文本与图像审核功能 最近在开发一款微信小程序,其中具有发布帖子的功能,因此需要审核发布的文本与图像(不然开发的微信小程序过不了审).本来是调用微信小程序的A ...
- 调用百度API,来实现人脸活体(人脸展示攻击)(人脸反欺骗)的实时检测
目录 一.登录百度API网站,申请API接口 二.创建应用列表,查看API Key 与 Secret Key 三.应用API Key 与 Secret Key,将模型部署在本地环境中 四.以视频流的方 ...
- python通过调用百度api实现语音识别(超详细)
python通过调用百度api实现语音识别(超详细) 2021.04.18:该文章是在18年,初学Python时写的,所以功能仅限于当时可用,至于现在(貌似依然可用)和以后就不确定了.完整的demo也 ...
- 调用百度API实现图像风格转换
目录 1.作者介绍 2.基本概念 2.1 人工智能云服务与百度智能云 2.2 图像风格转换 3.调用百度API实现图像风格转换 3.1 配置百度智能云平台 3.2 环境配置 3.3 完整代码实现 3. ...
- 调用百度api实现驾车路线和时间距离计算
毕设篇:调用百度api实现驾车路线和时间距离计算 效果展示 html页面: <!DOCTYPE html> <html lang="en"><head ...
最新文章
- php7伪静态 源码,PHPWind 8.5和8.7版的伪静态.htaccess规则
- Android Studio 中删除项目和项目找回------ Project Structure的使用
- JAVA实现调整数组顺序使奇数位于偶数前面问题(《剑指 offer》)
- python diango 并发_python - django Model 并发写数据出现重复值
- [LeetCode]Find Minimum in Rotated Sorted Array
- 【4.0】jdbcTemplate
- Vue之组件之间的数据传递
- 【LeetCode笔记】剑指Offer 51. 数组中的逆序对(Java、分治)
- 高中必背88个数学公式_高中数学:必修+选修全部知识点精华!附高考必背203个公式...
- 华为首秀 AI 全栈软件平台!
- 通知模式实现两个textField传值及模态视图——iOS开发
- Audio播放流程(三)---NuPlayer流程之setAudioStreamType以及prepare
- 和菜鸟一起学android4.0.3源码之硬件gps简单移植【转】
- 详解 —— HTTP协议
- Python爬虫实战之爬取链家广州房价_01简单的单页爬虫
- 计算机网络职业生涯规划书模板前言,计算机网络技术专业个人职业生涯规划书(参考模板).doc...
- 笑喷了,我用Python帮韦小宝选最佳老婆组合
- 基于数字证书的windows安全登录
- 使用js拖拽盒子移动()
- 万能的APT!编译时注解的妙用