高德地图现在使用比较多了,但是高德地图计算两点之间的距离有些问题。下面提供一个很好的解决方案。

代码如下:

/**

* 两点的经纬度获取两点距离米

* @param (121.293986,37.279148,121.284545,37.292396)

* @returns {string}

* @author zhangyufeng

*/

$rootScope.getGDDTDistance = function (startlongitude,startdimensionality,endlongitude,enddimensionality) {

var lon1 = (Math.PI / 180) * startlongitude;

var lon2 = (Math.PI / 180) * endlongitude;

var lat1 = (Math.PI / 180) * startdimensionality;

var lat2 = (Math.PI / 180) * enddimensionality;

// 地球半径

var R = 6371;

// 两点间距离 km,如果想要米的话,结果*1000就可以了

var d = Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1)) * R;

return d * 1000;

};

/**

* 获取距离

* @param distance

* @returns {string}

* @author lixiang

*/

$rootScope.getDistance = function (distance) {

if(distance==null){

return "";

}

var meter = 'm';

var kilometer = 'km';

var result = '';

if (distance < 1000) {

result = distance.toFixed(0) + meter;

} else {

var km = distance / 1000;

if (km >= 100) {

//超过100公里 去掉小数点

result = (distance / 1000).toFixed(0) + kilometer;

} else if(km >= 10){

//10-100公里以内 1位小数

result = (distance / 1000).toFixed(1) + kilometer;

} else {

//10公里以内 2位小数

result = (distance / 1000).toFixed(2) + kilometer;

}

}

return result;

};

前台调用 {{getDistance(getGDDTDistance(121.293986,37.279148,121.284545,37.292396))}}

public class Distribution

{

// 经度

double longitude;

// 维度

double dimensionality;

public double getLongitude()

{

return longitude;

}

public void setLongitude(double longitude)

{

this.longitude = longitude;

}

public double getDimensionality()

{

return dimensionality;

}

public void setDimensionality(double dimensionality)

{

this.dimensionality = dimensionality;

}

/*

* 计算两点之间距离

*

* @param start

*

* @param end

*

* @return 米

*/

public double getDistance(Distribution start, Distribution end)

{

double lon1 = (Math.PI / 180) * start.longitude;

double lon2 = (Math.PI / 180) * end.longitude;

double lat1 = (Math.PI / 180) * start.dimensionality;

double lat2 = (Math.PI / 180) * end.dimensionality;

// double Lat1r = (Math.PI/180)*(gp1.getLatitudeE6()/1E6);

// double Lat2r = (Math.PI/180)*(gp2.getLatitudeE6()/1E6);

// double Lon1r = (Math.PI/180)*(gp1.getLongitudeE6()/1E6);

// double Lon2r = (Math.PI/180)*(gp2.getLongitudeE6()/1E6);

// 地球半径

double R = 6371;

// 两点间距离 km,如果想要米的话,结果*1000就可以了

double d = Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1)) * R;

return d * 1000;

}

}

两点间距离

view

Java对接高德地图计算距离_高德地图计算两点之间的距离java+html相关推荐

  1. 根据高德地图得出的坐标算出两点之间的距离 java

    高德地图现在使用比较多了,但是高德地图计算两点之间的距离有些问题.下面提供一个很好的解决方案. 代码如下: public class Distribution {// 经度double longitu ...

  2. Java根据经纬度计算两点之间的距离

    1. 前言   在我们平时使用美团,饿了么等app进行订餐,或者使用猫眼进行订电影票的时候,都有一个距离的排序,表明该家店距离我们当前的位置,这种基于地理位置的服务,统一被称为LBS(Location ...

  3. Java:计算地球上两个经纬度坐标之间的距离-geodesy和geotools实现

    目录 方式一:自定义公式计算 方式二:geodesy计算距离 方式三:geotools计算距离 两个点的经纬度 latitude纬度 longitude经度 地点 22.678611 113.8056 ...

  4. 给定经纬度计算距离_根据经纬度计算地球上两点之间的距离js实现代码

    利用JS实现的根据经纬度计算地球上两点之间的距离 最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面 ...

  5. 计算两个向量间的欧氏距离_计算不同长度的两个向量之间的距离

    欧几里德距离公式找出了欧几里德空间中任意两点之间的距离. 欧几里德空间中的一点也被称为欧几里德矢量. 您可以使用欧氏距离公式来计算两个不同长度的向量之间的距离. 对于不同维度的矢量,适用相同的原理. ...

  6. 本关任务:编写一个Point类,有x、y两个属性。编写一个PointDemo类,并提供一个distance(Point p1,Point p2)方法用于计算两点之间的距离,实例化两个具体的Point对

    #java编程基础 以后会时常更新java编程题,分享所遇之难,答疑解惑,共同努力. 本关任务:编写一个Point类,有x.y两个属性.编写一个PointDemo类,并提供一个distance(Poi ...

  7. 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度

    [Google Map]怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度 根据两站点的经纬度求两站点间的距离  /**** 根据两站点的经纬度求两站点间的距离 ****/ d ...

  8. php算球面距离,球面两点之间的距离计算

    球面两点之间的距离计算 在便捷的交通中,我们的出行很时候都需要依赖于导航系统,对于短距离的移动,我们可以把地面当成一个平面进行简单的计算两点之间距离.但是,如果我们需要跨国.跨洲进行远距离的出行时候, ...

  9. 根据经纬度获取两点之间的距离 -- 腾讯地图(PHP后台)

    项目需求:根据经纬度获取两点之间的距离,我这里用的是腾讯地图的api php代码: /*** 利用腾讯地图api* 计算两点地理坐标之间的距离*/function getDistance(){$key ...

最新文章

  1. /usr/bin/ld 搜索路径顺序
  2. 警惕技术人员的极端性
  3. uC/OS-II源码分析(总体思路 三)
  4. 学生管理系统代码赏析
  5. flv 自动播放 html autostart=true,《网页制作之FLV视频播放代码的编写.doc
  6. http抓包实战 pdf_网络协议HTTP 协议(抓包实战和网络分层)
  7. TensorFlow笔记(12) VGG16
  8. 腾讯这套SpringMVC面试题你懂多少(面试题和答案)
  9. 企业基础管理薄弱,激励机制不健全怎么办?
  10. ACCESS的十种数据类型分别对应的添加语句
  11. 深入理解JVM虚拟机1:JVM内存的结构与消失的永久代
  12. unity拖拽drag_UGUI事件之Drag拖拽事件
  13. 计算机组成原理4位快速加法器
  14. MIT6.828学习之Lab1
  15. 一个FC游戏的下载站点
  16. 用 matplotlib 绘制 3D 时间序列动态图
  17. 为什么?为什么?Java处理排序后的数组比没有排序的快?想过没有?
  18. 基于Centos环境使用宝塔面板,搭建nextcloud
  19. puppeteer 清空input原本的值
  20. 公安部备案网址过程记录

热门文章

  1. libevent2从入门到原理解读(1):安装及使用
  2. RHEL-UEFI引导恢复规范
  3. pytest框架之mark标记功能详细介绍
  4. 机会成本(管理经济学)
  5. iOS和tvOS游戏按需加载资源简介
  6. 【解决】JSONDecodeError: Expecting property name enclosed in double quotes
  7. 无人驾驶(目前的自动驾驶方案)
  8. 车子前进档为什么往后退_为什么绝大部分自动挡汽车档把设计,往前是后退、往后是前进?...
  9. ubuntu 限速 流量监控工具 - iftop
  10. 小奇画画(线段树+map)(水题)