搜尋附近的人

2021-07-31 03:54:25 字數 952 閱讀 7420

//地球半徑,單位公尺

private static double earth_radius = 6378137;

/// /// 根據提供的經度和緯度、以及半徑,取得此半徑內的最大最小經緯度

///

/// 緯度

/// 經度

/// 半徑(公尺)

///

public static double getaround(double lat, double lon, int raidus);}

/// /// 計算兩點位置的距離,返回兩點的距離,單位 公尺

/// 該公式為google提供,誤差小於0.2公尺

///

/// 第一點緯度

/// 第一點經度

/// 第二點緯度

/// 第二點經度

///

public static double getdistance(double lat1, double lng1, double lat2, double lng2)

通過getaround方法得到 minlat,minlng,maxlat,maxlng 4個座標

double scope = getaround(lat, lng, radius);

double minlat = scope[0];

double minlng = scope[1];

double maxlat = scope[2];

double maxlng = scope[3];

再帶入資料庫進行查詢符合條件的

select * from 表名 where lat < maxlat and lat > minlat and lng < maxlng and lng > minlng

PHP 附近的人

思路 首先,我們知道自己的經緯度,知道自己要搜尋的範圍 半徑 我們就可以得到乙個已自己為中心的範圍圈。然後計算出範圍內的經緯度,也就是對於的附近的人。第一步 我們先宣告乙個函式,用作計算經緯度的範圍 根據經緯度和半徑計算出範圍 param string lat 緯度 param string lng...

用redis獲取附近的人

geoadd 將指定的地理空間位置 緯度 經度 名稱 新增到指定的 key 中 我們用這個命令將使用者發表動態時的位置資訊記錄進 redis key longitude latitude member longitude latitude member georadius 以給定的經緯度為中心,返回...

nodejs mongo 實現搜附近的人

參考 用mongo作為儲存,來實現搜尋附近的人具有先天的優勢,mongodb原生支援地理位置索引,可以直接用於位置距離計算和查詢。另外,它也是如今最流行的nosql資料庫之一,除了能夠很好地支援地理位置計算之外,還擁有諸如面向集合儲存 模式自由 高效能 支援複雜查詢 支援完全索引等等特性。先看一下我...