如果想實現類似探探那樣搜尋附近人的功能,而使用的資料庫為mongodb,那實現的方法還是挺簡單的。但是對於這方面,網上的案例不是太多,而且解釋大多模糊不清。
不多說,直接上**:
query query =
newquery()
;query.
addcriteria
(criteria.
where
("loc").
withinsphere
(new
circle
(new
point
(model.
getlongitude()
,model.
getlatitude()
),newdistance
(distance, metrics.kilometers)))
);querylistsbyquery
(query)
;
其中loc為你資料庫中儲存的經緯度,而model.getlongitude(),model.getlatitude()則為你所要計算的 經緯度,distance為你所要計算的經緯度距離,單位km。
當然可以自己選擇為m。
kilometers
(6378.137d
,"km"),
miles
(3963.191d
,"mi"
),
而其中最重要的是withinsphere,根據球面計算,而不是普通的within。
由此可以得出附近的人。
systemtap embedded C 踩坑筆記
官方文件 systemtap的embedded c中,不能 include 也不能用printf和print。那怎麼列印呢?用stap printf。用法與printf一樣。還可以訪問cript中的全域性變數。官方文件中的示例 global var global var2 100 function ...
Aggregation MongoDB踩坑記錄
對某些篩選條件進行分頁查詢,開始每一頁的有效data都不足pagesize,最後發現,aggregation 的pipeline是有先後順序的。錯誤 agg aggregation.newaggregation aggregation.skip curpage 1 pagesize aggregat...
feign踩坑 通過Feign上傳檔案(踩坑)
引入依賴 org.springframework.cloud spring cloud starter openfeign 服務提供者 restcontroller public inte ce fileuploadservice commonresultuploadfile requestpart...