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
感觉好的希望关注一下!