java根據經緯度查詢門店地理位置-完美解決附近門店問題


技術交流QQ群:422167709 想學習的朋友可以進入,各路IT大牛幫忙解決問題

1.首先我們需要創建一個門店表如下:

CREATE TABLE `app_store` (
`store_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '發布id',
`store_name` varchar(255) DEFAULT NULL COMMENT '門店名字',
`longitude` varchar(255) DEFAULT NULL COMMENT '經度',
`latitude` varchar(255) DEFAULT NULL COMMENT '維度',
PRIMARY KEY (`release_id`)
) ENGINE=InnoDB AUTO_INCRE

2.每個門店肯定是后台創建的,創建的時候根據地址查詢經緯度,將經緯度存入數據庫,根據地址查詢經緯度詳情:www.fuzongle.com

3.我在網上找了好多方法,個人感覺用sql查詢,這個查詢速度相對來說最快的了。
需求:根據用戶當前位置查詢附近的門店距離,附近多少是/m 單位,能快速查詢所有的門店。

SELECT 
store_name,
round(
    '6371' * 2 * asin(
        sqrt(
            pow(
                sin(
                    (
                        用戶現在的維度 * PI() / 180 - 數據庫表的維度字段名字 * PI() / 180
                    ) / 2
                ),
                2
            ) + cos(longitude * PI() / 180) * cos(數據庫表的維度名字 * PI() / 180) * pow(
                sin(
                    (
                        用戶現在的經度 * PI() / 180 - 數據庫表的經度字段名字 * PI() / 180
                    ) / 2
                ),
                2
            )
        )
    ) * 附近多少米之內的門店
) as distance
FROM app_store

感覺好的希望關注一下!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM