这么利用Mysql计算地址经纬度距离实时位置
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"这么利用Mysql计算地址经纬度距离实时位置"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有
千家信息网最后更新 2026年11月02日这么利用Mysql计算地址经纬度距离实时位置
本篇内容介绍了"这么利用Mysql计算地址经纬度距离实时位置"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
前言
最近在做项目时候,遇到一个这样子的需求,
点到卡包里面卡券使用使用,需要展示卡券使用附近门店,
思路
数据库地址表设计
通用的区域街道地址表tz_sys_area
| 字段名称 | 类型 | 备注 |
|---|---|---|
| area_id | bigint | 区域ID |
| area_name | varchar(32) | 区域名称 |
| parent_id | bigint | 所属父区域ID |
| level | int | 层级 |
| type | char | 区域类型0国家1省份直辖市2地市3区县 |
| area_name | varchar(32) | 区域名称 |
| parent_id | bigint | 所属父区域ID |
| level | int | 层级 |
后台也可以做修改
四级区域地址数据来源我在网上找的json文件然后按照格式倒入到的数据库
门店地址表tz_address
需求实现
这里计算距离就需要用到经纬度
需要使用高德地图api接口地理/逆地理编码获取地址经纬度并保存
/** * 地理/逆地理编码 * https://lbs.amap.com/api/webservice/guide/api/georegeo * * @return */ public String addressToLongitude(String address) { String longitude = ""; String urlString = "?key={key}&address={address}&output=JSON"; String response = restTemplate.getForObject(ApiAction.API_GEOREGO_TEST + urlString, String.class, apiKey, address); if (StrUtil.isEmpty(response)) { return null; } JSONObject jsonObject = JSON.parseObject(response); String code = jsonObject.getString("infocode"); if (code.equals("10000")) { JSONArray jsonArray = jsonObject.getJSONArray("geocodes"); JSONObject jsonObject1 = (JSONObject) jsonArray.get(0); longitude = jsonObject1.get("location").toString(); } else { return null; } return longitude; }使用
private Address setlngAndLat(Address address) { String addr = address.getProvince() + address.getCity() + address.getArea() + address.getAddr(); String longitude = gaoDeService.addressToLongitude(addr); if (StrUtil.isBlank(longitude)) { throw new BusinessException("地址经纬度识别识别"); } String lat = longitude.split(",")[1]; String lng = longitude.split(",")[0]; address.setLat(lat); address.setLng(lng); return address; }MySQL根据经纬度计算地址距离当前位置
SELECT ( 6371 * acos( cos(radians(#{lat})) * cos(radians(lat)) * cos(radians(lng) - radians(#{lng})) + sin(radians(#{lat})) * sin(radians(lat)) ) ) AS distance FROM tz_user_addr where addr_id=#{storeAddrId}"这么利用Mysql计算地址经纬度距离实时位置"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
地址
区域
经纬
经纬度
地理
位置
名称
数据
实时
内容
层级
所属
数据库
更多
知识
类型
编码
门店
需求
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
疫情对互联网科技公司影响
互联网 科技
深圳互联网科技公司
远拓互联网科技
广州紫鲸互联网科技
互联网金融监管科技
北京三清互联网科技
青岛中康互联网医疗科技有限公司
中盈科技互联网信息有限公司
苏州五指互联网络科技有限
米聚互联网科技南京有限公司排面
互联网行业科技股
特约风豹互联网科技为什么扣费
合肥互联网科技公司公章图片
互联网高科技行业有哪些企业
互联网金融运营模式中的金融科技
兰石爱特工业互联网科技分公司
科技信息时代互联网发展
知域互联网科技有限公司官网
前海云享互联网科技
互联网扶贫科技
杭州互联网科技公司
长亮科技 互联网金融
国外互联网科技网站
银川新华互联网科技职业技术培训学校图片
互联网科技项目计划书材料类
深圳市优智互联网科技有限公司
互联网科技年终奖
吉林省码上互联网科技电话
长沙渺峰互联网科技有限公司