根据当前所在的坐标点也即经纬度,查找数据库中附近5公里或10公里附近的所有信息。
MSSQL函数
CREATE FUNCTION [GetDistance] ( @Longitude DECIMAL(12,6), @Latitude DECIMAL(12,6), @GPSLongitude DECIMAL(12,6), @GPSLatitude DECIMAL(12,6) ) RETURNS DECIMAL(12,4) AS BEGIN DECLARE @result DECIMAL(12,4) SELECT @result=6371.004*ACOS(SIN(@GPSLatitude/180*PI())*SIN(@Latitude/180*PI())+COS(@GPSLatitude/180*PI())*COS(@Latitude/180*PI())*COS((@GPSLongitude-@Longitude)/180*PI())) RETURN @result END
查询语句
SELECT *,GetDistance(经度字段,纬度字段,当前经度,当前纬度) AS [distance] FROM TABLENAME WHERE [distance]<10