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

这篇具有很好参考价值的文章主要介绍了高德根据经纬度,查询所在位置信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一步、去申请高德的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-key
        String 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;

}文章来源地址https://www.toymoban.com/news/detail-473972.html

到了这里,关于高德根据经纬度,查询所在位置信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序-获取用户位置(经纬度+所在城市)

    获取用户所在的城市 1.利用微信小程序的接口函数获取用户位置的经纬度 2.将经纬度 逆解析 为结构化的文字地址 3.根据结构化的文字地址提取出需要的地址结构成分,如省份、城市、区县等。 3.1 用到的接口函数 微信小程序-获取用户位置的接口函数:wx.getLocation(Object objec

    2024年02月01日
    浏览(51)
  • Java调用高德地图API根据详细地址获取经纬度

    访问高德开放平台https://lbs.amap.com/ 登录后,在控制台中创建一个应用,获取生成的应用key。这个key将用于访问高德地图API。   您可以使用Java中的 HttpURLConnection 或 HttpClient 等工具发送HTTP请求到高德地图API,并传递参数以获取经纬度信息。以下是一个使用 HttpURLConnection 的示例

    2024年02月05日
    浏览(54)
  • 根据手机指南针经纬度在地图上找到其位置

    使用手机指南针获取经纬度,然后在地图上找到位置。 1、使用手机指南针获取经纬度: 2、将度分秒转换为度: 分/60+秒/3600+整数度数,得到以度为单位的数值 手机经纬度:117.1291666,31.842777 3、坐标系转换: 地图坐标系转换 - 在线工具 输入手机经纬度:117.1291666,31.842777 得到

    2024年02月09日
    浏览(40)
  • uniapp使用高德地图地理位置逆解析/将获取到的经纬度转化为地址

    1、在高德登录注册,进行个人或企业开发者认证(个人开发者可以随时升级企业开发者) 高德地图开发aip网址 2、进入控制台,按以下图示操作 添加完成之后把key复制一下。 3、使用uni.request进行请求(用什么框架就这么请求,这里示例的是uniapp),请求地址为:https://rest

    2024年02月08日
    浏览(51)
  • 【Python&GIS】基于高德Api实现批量地址查询经纬度

            之前因为同事需要几千个小区的经纬度信息,所以就帮同事写了一段Python代码,通过调取高德地图的api实现地址查询经纬度这个功能。对于如何使用经纬度查询地址的方法,我之前分享过博文:【Python入门教程】获取图片可视化精准定位(逆地理编码),如果大家感

    2024年02月03日
    浏览(53)
  • vue 高德地图 —— 点标记、信息弹窗、网页导航、获取经纬度及当前城市信息

    新建 components/amap.vue 文件,封装高德地图组件: 接下来,在需要使用的组件中引入 amap.vue :

    2023年04月15日
    浏览(54)
  • 根据基站位置区识别码(LCA)和小区识别(CI)获取经纬度

    在网络攻击溯源时,需要对攻击者的位置进行定位。 已知攻击者发送攻击报文的接入基站的位置区识别码(LCA)和小区识别(CI)码 获取攻击者位置 request 调用API查询经纬度位置 openpyxl 读取 excel 表格 sqlite3 读写数据库 json 数据解析

    2024年02月09日
    浏览(54)
  • 手机上获取地图某个定位的经纬度坐标的方法 - 查询经度、纬度 - 百度地图app、高德地图app、Earth地球

    拖动、定位、获得左上角的 东经、北纬等信息,就是经度、纬度了。 手机安装app 苹果: Earth-地球 安卓、鸿蒙: Earth地球   打开软件,拖动地图   左上角的坐标就是 经度、纬度     百度地图app、高德地图app都无法获取坐标、经度、纬度   手机也可以用 网页版坐标拾取系

    2024年02月09日
    浏览(184)
  • uni-app获取位置信息(经纬度转换地址信息)

    1.使用uni.getLocation()获取位置信息 2.下载qqmap-wx-jssdk.js插件插件下载地址 3.使用腾讯位置服务器对经纬度进行一个地址信息转换(自己创建一个应用即可) 全都勾选上 4.注意!!关键之处!! 一定要在微信公众号平台上 服务器配置 apis.map.qq.com 上代码 template js 效果图 不当之处望

    2024年02月13日
    浏览(48)
  • 微信小程序定位开发 逆地理位置查询 经纬度获取位置名称

    一. 微信小程序获取用户定位==经纬度(官方) (1)官方方法:wx.getLocation(Object object) (2)官方链接:https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html (3)关键点: 申请权限 :在小程序管理后台,「开发」-「开发管理」-「接口设置」中申请开通该接口权限。

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包