Java对接高德地图计算距离_高德地图计算两点之间的距离java+html
高德地图现在使用比较多了,但是高德地图计算两点之间的距离有些问题。下面提供一个很好的解决方案。
代码如下:
/**
* 两点的经纬度获取两点距离米
* @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相关推荐
- 根据高德地图得出的坐标算出两点之间的距离 java
高德地图现在使用比较多了,但是高德地图计算两点之间的距离有些问题.下面提供一个很好的解决方案. 代码如下: public class Distribution {// 经度double longitu ...
- Java根据经纬度计算两点之间的距离
1. 前言 在我们平时使用美团,饿了么等app进行订餐,或者使用猫眼进行订电影票的时候,都有一个距离的排序,表明该家店距离我们当前的位置,这种基于地理位置的服务,统一被称为LBS(Location ...
- Java:计算地球上两个经纬度坐标之间的距离-geodesy和geotools实现
目录 方式一:自定义公式计算 方式二:geodesy计算距离 方式三:geotools计算距离 两个点的经纬度 latitude纬度 longitude经度 地点 22.678611 113.8056 ...
- 给定经纬度计算距离_根据经纬度计算地球上两点之间的距离js实现代码
利用JS实现的根据经纬度计算地球上两点之间的距离 最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面 ...
- 计算两个向量间的欧氏距离_计算不同长度的两个向量之间的距离
欧几里德距离公式找出了欧几里德空间中任意两点之间的距离. 欧几里德空间中的一点也被称为欧几里德矢量. 您可以使用欧氏距离公式来计算两个不同长度的向量之间的距离. 对于不同维度的矢量,适用相同的原理. ...
- 本关任务:编写一个Point类,有x、y两个属性。编写一个PointDemo类,并提供一个distance(Point p1,Point p2)方法用于计算两点之间的距离,实例化两个具体的Point对
#java编程基础 以后会时常更新java编程题,分享所遇之难,答疑解惑,共同努力. 本关任务:编写一个Point类,有x.y两个属性.编写一个PointDemo类,并提供一个distance(Poi ...
- 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度
[Google Map]怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度 根据两站点的经纬度求两站点间的距离 /**** 根据两站点的经纬度求两站点间的距离 ****/ d ...
- php算球面距离,球面两点之间的距离计算
球面两点之间的距离计算 在便捷的交通中,我们的出行很时候都需要依赖于导航系统,对于短距离的移动,我们可以把地面当成一个平面进行简单的计算两点之间距离.但是,如果我们需要跨国.跨洲进行远距离的出行时候, ...
- 根据经纬度获取两点之间的距离 -- 腾讯地图(PHP后台)
项目需求:根据经纬度获取两点之间的距离,我这里用的是腾讯地图的api php代码: /*** 利用腾讯地图api* 计算两点地理坐标之间的距离*/function getDistance(){$key ...
最新文章
- /usr/bin/ld 搜索路径顺序
- 警惕技术人员的极端性
- uC/OS-II源码分析(总体思路 三)
- 学生管理系统代码赏析
- flv 自动播放 html autostart=true,《网页制作之FLV视频播放代码的编写.doc
- http抓包实战 pdf_网络协议HTTP 协议(抓包实战和网络分层)
- TensorFlow笔记(12) VGG16
- 腾讯这套SpringMVC面试题你懂多少(面试题和答案)
- 企业基础管理薄弱,激励机制不健全怎么办?
- ACCESS的十种数据类型分别对应的添加语句
- 深入理解JVM虚拟机1:JVM内存的结构与消失的永久代
- unity拖拽drag_UGUI事件之Drag拖拽事件
- 计算机组成原理4位快速加法器
- MIT6.828学习之Lab1
- 一个FC游戏的下载站点
- 用 matplotlib 绘制 3D 时间序列动态图
- 为什么?为什么?Java处理排序后的数组比没有排序的快?想过没有?
- 基于Centos环境使用宝塔面板,搭建nextcloud
- puppeteer 清空input原本的值
- 公安部备案网址过程记录
热门文章
- libevent2从入门到原理解读(1):安装及使用
- RHEL-UEFI引导恢复规范
- pytest框架之mark标记功能详细介绍
- 机会成本(管理经济学)
- iOS和tvOS游戏按需加载资源简介
- 【解决】JSONDecodeError: Expecting property name enclosed in double quotes
- 无人驾驶(目前的自动驾驶方案)
- 车子前进档为什么往后退_为什么绝大部分自动挡汽车档把设计,往前是后退、往后是前进?...
- ubuntu 限速 流量监控工具 - iftop
- 小奇画画(线段树+map)(水题)