运用阿里云地图实现经纬度转换为省市县_阿里云逆地理坐标转换-程序员宅基地

技术标签: JavaWeb实例  云API  

最近在写的一个项目需要进行一个经纬度转换为地理位置的工具类
然后写在博客里面提供给大家使用

  /**
       * 经纬度转换地址json
       * @param lat 经度
       * @param log 纬度
       * @return json对象province代表省city代表市county代表县
       */
      public static JSONObject TranslateAdd(String lat, String log ){ 
        //阿里云地图调用(100代表道路,010代表兴趣点,001代表门址,111可以同时显示前三项)
        //构造URL
        String urlString = "http://gc.ditu.aliyun.com/regeocoding?l="+lat+","+log+"&type=010"; 
        String res = "";   
        try {   
          //先进行请求
          URL url = new URL(urlString);  
          HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
          //设置可输入
          conn.setDoOutput(true);  
          //请求方式为POST
          conn.setRequestMethod("POST");  
          //提取获得的数据
          BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));  
          String line;  
          while ((line = in.readLine()) != null) {  
            res += line+"\n";  
         }  
          //关闭连接
          in.close();  
        } catch (Exception e) {  
          System.out.println(e.getMessage());  
        }  
        if(res!=null&&!res.equals(""))
        {
            //此处可根据自己情况进行封装 此jsonObject为获得的所有数据构建的Json
            JSONObject jsonObject = JSONObject.fromObject(res); 
            JSONArray jsonArray= JSONArray.fromObject(jsonObject.getString("addrList")); 
            JSONObject j_2 = JSONObject.fromObject(jsonArray.get(0)); 
            String allAdd = j_2.getString("admName"); 
            String ssx[] = allAdd.split(","); 
            if(ssx.length==3)
            {
            JSONObject address = new JSONObject();
            address.put("province", ssx[0]);
            address.put("city", ssx[1]);
            address.put("county", ssx[2]);
            System.err.println("省市县"+ssx[0]+" "+ssx[1]+" "+" "+ssx[2]);
            return address;
            }
            return null;
        }else
        {
            return null;
        }
      } 

进行测试

        JSONObject a = TranslateAdd("34.350178", "108.949324");
        System.out.println("省市县"+a.toString());

结果
3
[陕西省, 西安市, 未央区]
省市县陕西省 西安市 未央区
省市县{"province":"陕西省","city":"西安市","county":"未央区"}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38345606/article/details/80490747

智能推荐

Linux 常用命令最全总结大全【推荐收藏】_linux常用命令 csdn-程序员宅基地

文章浏览阅读1.3k次,点赞20次,收藏35次。Linux 常用命令_linux常用命令 csdn

PHP 过滤多维数组中的空值_php array_filter 多维数组-程序员宅基地

文章浏览阅读3.9k次。/** * clearEmptyValue 清除多维数组里面的空值 * @param array $array * @return array * @author liuml * @DateTime 2018/12/3 11:27 */function array_filter_recursive(array &$arr){ if (empty($arr)) ..._php array_filter 多维数组

python爬虫高级知识_Python爬虫高级入门,Scrapy框架入门级案例实战!-程序员宅基地

文章浏览阅读99次。python install Twisted这里是运行成功的截图阅读目录系列文章目录前言一、编写Tenxun.py爬虫文件二、在item.py列表里进行设置数据表三、在pipelines.py列表里进行设置数据表四、在settings.py文件里配置爬虫五、运行爬虫总结前言随着我们对爬虫的了解,以前我们用requests可以请求进行解析网页可以提供我们想要的数据 ,现在我们网页的数据量很多的时候,..._datas = json.loads(response.text).get('ret_array', list()

OpenStack-Ocata版+CentOS7.6 云平台环境搭建 —9.块存储服务(cinder)部署配置-程序员宅基地

文章浏览阅读223次。块存储服务部署相关块存储服务(cinder)为实例提供块存储。存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的。还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等。典型情况下,块服务API和调度器服务运行在控制节点上。取决于使用的驱动,卷服务器可以运行在控制节点、计算节点或单独的存储节点。1.块存储服务概览OpenStack块存储服务(cinder)为虚拟机添加持久..._怎么安装volumev3服务

使用Cesium.js加载3D模型_cesiumjs 加载模型-程序员宅基地

文章浏览阅读1.6w次,点赞4次,收藏31次。最近项目中用到室外三维模型与室内三维地图交互,室外三维模型的加载我们采用了cesium js来实现,在使用的过程中遇到了许多的问题,闲暇之余将其实现及遇到的问题记录下来,以备将来再用到时少走弯路。 一、开发环境准备 1、下载cesium js cesium js 下载地址 https:..._cesiumjs 加载模型

java是从( )语言改进重新设计_java笔试题答案详解-程序员宅基地

文章浏览阅读1.5k次。《java笔试题答案详解》由会员分享,可在线阅读,更多相关《java笔试题答案详解(8页珍藏版)》请在人人文库网上搜索。1、java笔试题以及答案详解 一一、单项选择题1. Java是从()语言改进重新设计。A. Ada B . C+ C . Pasacal D . BASIC答案:B2 .下列语句哪一个正确()A. Java程序经编译后会产生 machine codeB. Java程序经编译后会..._java是从( )语言改进重新设计。 a:ada b:c++ c:pasacal d:basic

随便推点

不同版本iOS的特性和差异_不同ios版本元素-程序员宅基地

文章浏览阅读5.5k次。1.iPhone OS 2.0 苹果在2008年3月6日iPhone SDK Roadmap会上正式介绍了iPhone OS 2.0。这个版本的获得的重要更新可以分成一下4大类:-企业增强-微软Exchange ActiveSync-iPhone SDK-App Store  在2008年6月的WWDC大会上苹果宣布包括MobileMe服务以及其他_不同ios版本元素

vue element的tabs中使用echarts_在element的tabs里面放echarts-程序员宅基地

文章浏览阅读1.9k次,点赞3次,收藏3次。tabs中使用echarts,除了第一个图表能默认显示外,当tabs切换的时候,第一个之后的可能就显示不了了,如何解决?<template> <div> <el-row> <el-col :span="24"> <el-card> <el-tabs v-model="activeName" type="card" @tab-click="handleClick"> ._在element的tabs里面放echarts

【MATLAB】椭圆检测(Ellipse Detection)算法(含代码)-程序员宅基地

文章浏览阅读5.9w次,点赞73次,收藏282次。这里分享一篇文献中椭圆检测的方法(代码使用方法)。圆的物体,在实际拍摄中由于种种原因可能会变成椭圆,用圆拟合就不够准确。_椭圆检测

微信小程序手机号授权登录_微信手机号授权登录代码-程序员宅基地

文章浏览阅读5k次,点赞5次,收藏44次。微信小程序,手机号授权登录需求。_微信手机号授权登录代码

数据库实体间关联关系:一对一、一对多、多对多_实体之间的联系有一对一、一对多-程序员宅基地

文章浏览阅读8.7k次,点赞2次,收藏4次。数据库实体间有三种对应关系:一对一,一对多,多对多。 一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。 一对多关系示例:一个学生只属于一个班,但是一个班级有多名学生。 多对多关系示例:多对多就是双向一对多,一个学生可以选择多门课,一门课也有多名学生。1.一对多关系处理: 通过学生和班级问题了解一对多:..._实体之间的联系有一对一、一对多

系统可靠性matlab,基于Matlab语言的系统可靠性仿真.pdf-程序员宅基地

文章浏览阅读619次。您所在位置:网站首页 > 海量文档&nbsp>&nbsp计算机&nbsp>&nbspmatlab基于Matlab语言的系统可靠性仿真.pdf3页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所得..._幅值可靠性函数的模拟

推荐文章

热门文章

相关标签