2016-05-16 120 views
-3

我想根據用戶從MySQL中選擇的經度和緯度提取數據。 例如,如果用戶要求加利福尼亞州的房源,或者如果用戶要求在AlisoViejo上市,我需要在AlisoViejo中獲取房源信息,我想在加利福尼亞州提取一些房源。爲此,我使用經緯度,誰能讓我知道如何實現這一點基於經度和緯度從mysql獲取數據

+0

你有多遠試圖 –

+0

我們做一下沒有什麼你數據庫,你的表格,你的應用程序,你想要的最終結果。 –

+0

請逐步說明您希望用戶選擇一個位置的方式以及您希望顯示的結果。 – Zero

回答

0

保存列表中每個記錄的經度和緯度的數據,直接或間接(使用關係表)。然後,使用這樣的事情(從MYSQL Geo Search having distance performance拍攝):

SELECT a .* , 
    round(sqrt( 
     (POW(a.latitude -'53.410778', 2)* 68.1 * 68.1) + 
     (POW(a.latitude -'-2.97784', 2) * 53.1 * 53.1) 
    )) AS distance 
FROM adverts a 
    WHERE a.type_id = 3 
    HAVING distance < 25 
    LIMIT 0 , 30 

或使用MySQL的地理空間功能:

https://dev.mysql.com/doc/refman/5.7/en/spatial-analysis-functions.html

https://www.percona.com/blog/2013/10/21/using-the-new-mysql-spatial-functions-5-6-for-geo-enabled-applications/