我試過:
var latitude = K.params.latitude
var longitude = K.params.longitude
var sqlString = "SELECT name, latitude, longitude, SQRT(
POW(69.1 * (latitude - '" latitude "), 2)
POW(69.1 * ('" longitude "' - longitude) * COS(latitude / 57.3), 2) AS 距離
FROM 10561_12865_tblEvents HAVING distance < 25 ORDER BY distance"
var results = K.query(sqlString, [] )
但這只回傳1個結果,有時在應該回傳的時候卻沒有。
你有更好的辦法嗎?
你有更好的解決方案嗎?
謝謝你 :)
uj5u.com熱心網友回復:
你可以使用ST_Distance_Sphere(point(lonA,latA), point(lonB,latB))/code>
例如:
SELECT ST_Distance_Sphere(point(0, 0), point(180, 0) 作為距離
找到更多的資訊。
uj5u.com熱心網友回復:
我自己用下面的函式成功地解決了這個問題
。var latitude =K.params.latitude
var longitude = K.params.longitude
var start = K.params.start
var count = K.params.count
var maxDistanceKM = K.params.maxDistanceInKM
var sqlString = "SELECT *,
( 6371.25 * acos(
cos( 弧度('" latitude "') ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians('" longitude ") ) sin( 弧度('" 緯度 "') ) * sin( 弧度( 緯度 ) ) ) AS 距離
FROM 10561_12865_tblEvents
HAVING distance < '" maxDistanceKM "'
ORDER BY distance
LIMIT " start " , " count
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/333992.html
標籤:
