<!-- 车辆详情-抓拍记录-附近地点列表 -->
<select id="queryCompanyList" resultType="map">
SELECT * FROM (
SELECT IFNULL(b.`value`,'未知') AS industry,a.company_name,
a.business_address,
a.longitude,
a.latitude,
a.industry_type,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
#{latitude} * PI() / 180 - a.latitude * PI() / 180
) / 2
),
2
) + COS(#{latitude} * PI() / 180) * COS(a.latitude * PI() / 180) * POW(
SIN(
(
#{longitude} * PI() / 180 - a.longitude * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM tb_zaxq_company a
LEFT JOIN sys_dict b ON b.type = 'industry_type' AND a.industry_type = b.`code`
<if test="industryType > 0">
WHERE a.industry_type = #{industryType}
</if>
) t
<if test="distance > 0">
WHERE t.distance <= #{distance}
</if>
</select>
mysql中根据经纬度计算距离
最新推荐文章于 2022-05-26 09:30:13 发布