经纬度距离 API

用 Haversine 公式计算两个经纬度坐标之间的球面距离,可附带起点到终点的方位角

数据来源:本地计算(Haversine 公式,地球平均半径 6371.0088 km)

返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。

两点经纬度球面距离与方位角

GET /api/geo/distance

请求参数

  • lat1(必填):起点纬度(-90~90,北纬为正,WGS-84),示例 39.9042
  • lon1(必填):起点经度(-180~180,东经为正),示例 116.4074
  • lat2(必填):终点纬度(-90~90),示例 31.2304
  • lon2(必填):终点经度(-180~180),示例 121.4737
  • bearing:是否计算方位角:1 计算(默认),0 不计算(bearing、direction 返回 null),示例 1

返回字段

  • from(object):起点坐标
  • from.lat(number):起点纬度
  • from.lon(number):起点经度
  • to(object):终点坐标
  • to.lat(number):终点纬度
  • to.lon(number):终点经度
  • meters(number):球面距离(米,保留 1 位小数)。把地球视为球体,与椭球大地线距离的误差一般在 0.5% 以内
  • kilometers(number):球面距离(千米,保留 3 位小数)
  • miles(number):球面距离(英里,保留 3 位小数)
  • nauticalMiles(number):球面距离(海里,保留 3 位小数)
  • bearing(number|null):起点到终点的初始方位角(度,0~360,正北为 0、顺时针,保留 2 位小数);bearing=0 或两点重合时为 null
  • direction(string|null):方位角对应的八方位中文,如 东南;bearing 为 null 时为 null