第一步、去申请高德的key

第二步、引入下面的工具类

第三步、创建协议了,映射想要拿到的数据

package com.fangzhou.common.utils;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;/*** @Classname GaoDeUtils* @Description TODO* @Version 1.0.0* @Date 2023/3/31 11:56* @Created by luozhao*/public class GaoDeUtils {/***根据经纬度获取省市区*/public static String getAddressByJWD(String clog, String clat){//lat 小  log  大//参数解释: 纬度,经度 采用高德API可参考高德文档https://lbs.amap.com///注意key是在高德开放平台申请的key,具体获得key的步骤请查看网址:https://developer.amap.com/api/webservice/guide/create-project/get-keyString key = "";String parameters="?key="+key;parameters+="&location="+clog+","+clat;//经纬度坐标parameters+="&extensions=all";//返回结果控制,extensions 参数取值为 all 时会返回基本地址信息、附近 POI 内容、道路信息以及道路交叉口信息。
//        parameters+="&batch=false";//批量查询控制,batch 参数设置为 false 时进行单点查询,此时即使传入多个经纬度也只返回第一个经纬度的地址解析查询结果。
//        parameters+="&roadlevel=0";//道路等级,当 roadlevel = 0 时,显示所有道路parameters+="&output=JSON";parameters+="&radius=100";//搜索半径,radius取值范围在0~3000,默认是1000。单位:米String urlString = "https://restapi.amap.com/v3/geocode/regeo"+parameters;StringBuilder res = new StringBuilder();try {//            log.info("高德地图请求地址:"+urlString);URL url = new URL(urlString);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("POST");BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));String line;while ((line = in.readLine()) != null) {res.append(line);}in.close();
//            log.info("高德返回结果:" + res);} catch (Exception e) {//            log.info("获取地址信息异常");e.printStackTrace();return null;}return res.toString();}
}

根据JSON对象获取信息


String cityInfo = GaoDeUtils.getAddressByJWD(request.getClog(), request.getClat());
JSONObject resultSucces = JSONObject.parse(cityInfo);
JSONObject addr=resultSucces.getJSONObject(“regeocode”);
AddressComponent addressComponent = JSON.parseObject(JSON.toJSONString(addr.get(“addressComponent”)), AddressComponent.class);

创建协议类:如果想获取更多数据,自己根据相应的key 去拿值

package com.fangzhou.service.domain.address;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**

  • @Classname AddressVo

  • @Description TODO

  • @Version 1.0.0

  • @Date 2023/3/31 15:25

  • @Created by luozhao
    */
    @Data
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    @Tag(name=“AddressComponent”, description=“根据经纬度获取信息”)
    public class AddressComponent {

    @Schema(title = “国籍”)
    private String country;

    @Schema(title = “省份”)
    private String province;

    @Schema(title = “市”)
    private String city;

    @Schema(title = “区”)
    private String district;

    @Schema(title = “街道”)
    private String township;

}

高德根据经纬度,查询所在位置信息相关推荐

  1. Java 汉字拆分转为拼音 及根据经纬度获取所在位置

    Java 汉字拆分转为拼音 及根据经纬度获取所在位置 java网络代码拼凑人 package com.ruoyi.hfiveinterface.util;import com.alibaba.fast ...

  2. Android开发获取当前经纬度和详细位置信息(原生代码实现)简单案例

    文章目录 Android定位(经纬度+当前位置信息) 申请权限 LocationManage位置管理器 完整代码 Android定位(经纬度+当前位置信息) 我相信大家在Android开发中应该都有遇 ...

  3. 高德地图准确获取当前位置信息

    代码示例 JavaScript mapObj = new AMap.Map('iCenter'); mapObj.plugin('AMap.Geolocation', function () {geo ...

  4. vue项目中使用高德地图获取用户当前位置信息

    项目背景是用vue开发的小程序,需要获取当前用户的地理位置,折腾了好久终于弄好了,今天分享给大家,话不多说,let's go! 第一步:在index.html页面引入高德地图 <script t ...

  5. 根据经纬度查询具体城市信息

    Google Maps API URL地址:http://maps.google.com/maps/api/service/输出格式?参数  释义:service表述的是请求的服务,输出格式可分为xm ...

  6. 根据经纬度获取用户当前位置信息

    根据上篇文章获取的经纬度获取用户当前的位置信息 //获取用户所在位置信息ADDRESS func getUserAddress() { let latitude : CLLocationDegrees ...

  7. 微信小程序、uni-app获取经纬度,并将经纬度转化为确定的位置信息

    目录 一)小程序获得经纬度 二)将经纬度转化为位置信息 三)uni-app版书写: 一)小程序获得经纬度   调用wx.getLocation()方法,经纬度直接存在success回调函数的latit ...

  8. uniapp微信小程序获取当前位置信息、经纬度转换、导航地图实现

    1.调用接口,官网文档是这样写的 uni.getLocation({type: 'wgs84',success: function (res) {console.log('当前位置的经度:' + re ...

  9. Android 获取位置信息

    本文转自:https://juejin.cn/post/6986580983134814216 Android 提供LocationManager等相关API用于获取位置信息. 一.权限申请 1.1 ...

最新文章

  1. JavaScript几个小技巧
  2. hostapd中扫描的调用过程
  3. 【笨嘴拙舌WINDOWS】字符类型与字符串
  4. sql查询,nolock写还是不写,这是一个问题
  5. 用命令行CMD .bat 相关操作 如: 创建快捷方式 复制文件等
  6. GDCM:将gz文件转dcm文件测试程序
  7. 一道简单的python面试题-购物车
  8. linux lamp架构部署,Centos7部署LAMP平台之架构之路
  9. arcgis创建剖面线execl文件
  10. PID控制器开发笔记之八:带死区的PID控制器的实现
  11. CS100.1x Introduction to Big Data with Apache Spark
  12. Git 看这一篇就够了!
  13. CyclicBarrier(栅栏)实现高并发测试
  14. Error of Git
  15. php时间变时间戳,php 时间如何转换为时间戳
  16. apdu 移动sim_SIM卡APDU指令【转】
  17. 关于小熊派Cat1资料收集
  18. plt 字体 times new roman Ubuntu添加windows启动项
  19. 怎么读取照片上的文字?清描:一键提取,批量识别
  20. 黑石董事长:我今生所有的经验,总结起来,不过这54条!

热门文章

  1. 福州php前景,重磅!福州市未来三年棚改计划出炉!看看都拆哪?
  2. Android查看布局层级
  3. 天文学家对外星文明的分类如何指导我们探索AI?
  4. Resolved [org.springframework.jdbc.BadSqlGrammarException
  5. TCP协议:三次握手过程
  6. 忠告∶你见过有医生无偿献血的吗
  7. Python基础入门—单分支结构
  8. 浏览器调用摄像头getUserMedia
  9. Smart Home,让黑客攻击更加Smart
  10. 运维篇Docker之初见本尊 1