地理坐标定位和计算距离

本文介绍了地理坐标定位的场景,包括智能手机获取用户位置并传递给后端进行存储。讨论了两种实现方法:一是利用Java自己实现,二是借助Redis的GEO功能。提供了相关参考资料。
摘要由CSDN通过智能技术生成

地理坐标定位和计算距离


场景介绍

在SNS应用中通常会有"附近的人"、或者地图应用中搜寻目的地距离当前路程等场
景。此时我们就需要根据两点地理位置的经度和纬度计算出距离。

备注:通常智能手机只要用户同意软件使用定位功能,就都可以轻松的获取到用户当前所在地理坐标,因此前段可以轻松的将地理坐标传给后端,后端将其存储起来然后计算。可以存在redis缓存也可以存在mysql中。


实现方法

基于java自己实现

java code

public static double getDistance(Location location1, Location location2 ) {
    //Location是一个类,包含经度和纬度两个属性
    //参数location1表示地址1,location2表示地址2.
       double radLat1 = Math.toRadians (location1. getLatitude());
       double radLat2 = Math.toRadians (location1. getLatitude());
       double a = radLat1 - radLat2;
       double b = Math.toRadians (location1. getLongitude()) - Math.toRadians (location2. getLongitude());
       double s = 2 * Math. asin(Math .sqrt(
                Math.pow (Math. sin(a / 2), 2) + Math.cos (radLat1) * Ma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值