返回顶部
首页 > 资讯 > 数据库 >利用java、js或mysql计算高德地图中两坐标之间的距离
  • 572
分享到

利用java、js或mysql计算高德地图中两坐标之间的距离

高德地图坐标距离java 2023-05-31 00:05:31 572人浏览 八月长安
摘要

前言因为工作的原因,最近在做与地图相关的应用,使用了高德地图,研究了下高德地图计算两坐标距离的方法,官网上提供的开发包中有相关的方法,但是我的产品中比较特殊,无法直接使用提供的方法,所以就自己封装了相关计算方法,供大家参考,下面话不多说了,

前言

因为工作的原因,最近在做与地图相关的应用,使用了高德地图,研究了下高德地图计算两坐标距离的方法,官网上提供的开发包中有相关的方法,但是我的产品中比较特殊,无法直接使用提供的方法,所以就自己封装了相关计算方法,供大家参考,下面话不多说了,来一起看看详细的介绍吧。

Java实现

首先定义一个用于存储经纬度的类,这里起个名字叫:LngLat

package amap;import java.text.DecimalFORMat;import java.text.DecimalFormatSymbols;import java.util.Locale;public final class LngLat implements Cloneable{  public final double latitude;  public final double longitude;  private static DecimalFormat format = new DecimalFormat("0.000000", new DecimalFormatSymbols(Locale.US));  public LngLat(double longitude, double latitude) { this(longitude, latitude, true); }  public LngLat(double longitude, double latitude, boolean isCheck) { if (isCheck) {  if ((-180.0D <= longitude) && (longitude < 180.0D))  this.longitude = parse(longitude);  else  {  throw new IllegalArgumentException("the longitude range [-180, 180].");  // this.longitude = parse(((longitude - 180.0D) % 360.0D + 360.0D) %  // 360.0D - 180.0D);  }  if ((latitude < -90.0D) || (latitude > 90.0D))  {  throw new IllegalArgumentException("the latitude range [-90, 90].");  }  this.latitude = latitude;  // this.latitude = parse(Math.max(-90.0D, Math.min(90.0D, latitude))); } else {  this.latitude = latitude;  this.longitude = longitude; } }  private static double parse(double d) { return Double.parseDouble(format.format(d)); } public LngLat clone() { return new LngLat(this.latitude, this.longitude); } @Override public int hashCode() { final int prime = 31; int result = 1; long temp; temp = Double.doubleToLongBits(latitude); result = prime * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(longitude); result = prime * result + (int) (temp ^ (temp >>> 32)); return result; } @Override public boolean equals(Object obj) { if (this == obj)  return true; if (obj == null)  return false; if (getClass() != obj.getClass())  return false; LngLat other = (LngLat) obj; if (Double.doubleToLongBits(latitude) != Double.doubleToLongBits(other.latitude))  return false; if (Double.doubleToLongBits(longitude) != Double.doubleToLongBits(other.longitude))  return false; return true; } public String toString() { return "lat/lng: (" + this.latitude + "," + this.longitude + ")"; }}
您可能感兴趣的文档:

--结束END--

本文标题: 利用java、js或mysql计算高德地图中两坐标之间的距离

本文链接: https://lsjlt.com/news/222530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 利用java、js或mysql计算高德地图中两坐标之间的距离
    前言因为工作的原因,最近在做与地图相关的应用,使用了高德地图,研究了下高德地图计算两坐标距离的方法,官网上提供的开发包中有相关的方法,但是我的产品中比较特殊,无法直接使用提供的方法,所以就自己封装了相关计算方法,供大家参考,下面话不多说了,...
    99+
    2023-05-31
    高德地图 坐标距离 java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作