php百度地图接口两点测距,百度地图Api 根据两个坐标点计算距离

这篇博客介绍了如何在Java中实现百度地图API的坐标距离计算,通过提供的JavaScript API方法转换为Java代码,实现了两个经纬度坐标之间的距离计算。文章详细展示了转换和计算的步骤,并给出了具体实现的Java函数。
摘要由CSDN通过智能技术生成

百度地图Android Sdk的Api里面,没有现成的直接获取两个坐标点之间距离的方法,但是,在jsapi里面,有直接计算距离的方法。

class Point:

pass

def max(a,b):

if a>b:

return a

return b

def min(a,c):

if a>c:

return c

return a

def lw(a, b, c):

# b != n && (a = Math.max(a, b));

# c != n && (a = Math.min(a, c));

a = max(a,b)

a = min(a,c)

return a

def ew(a, b, c):

while a > c:

a -= c - b

while a < b:

a += c - b

return a

def oi(a):

return math.pi * a / 180

def Td(a, b, c, d):

return 6370996.81 * math.acos(math.sin(c) * math.sin(d) + math.cos(c) * math.cos(d) * math.cos(b - a))

def Wv(a, b):

if not a or not b:

return 0;

a.lng = ew(a.lng, -180, 180);

a.lat = lw(a.lat, -74, 74);

b.lng = ew(b.lng, -180, 180);

b.lat = lw(b.lat, -74, 74);

return Td(oi(a.lng), oi(b.lng), oi(a.lat), oi(b.lat))

def getDistance(a, b):

c = Wv(a, b);

return c

所以,根据上面的方法,我们把计算距离的方法用java语言实现如下:

public static double getDistance(double lat_a, double lng_a, double lat_b, double lng_b){

double pk = 180 / 3.14169;

double a1 = lat_a / pk;

double a2 = lng_a / pk;

double b1 = lat_b / pk;

double b2 = lng_b / pk;

double t1 = Math.cos(a1) * Math.cos(a2) * Math.cos(b1) * Math.cos(b2);

double t2 = Math.cos(a1) * Math.sin(a2) * Math.cos(b1) * Math.sin(b2);

double t3 = Math.sin(a1) * Math.sin(b1);

double tt = Math.acos(t1 + t2 + t3);

return 6371000 * tt;

}

参考:

根据百度地图API得到坐标和地址并在地图上显示

百度地图API 自定义坐标点及图片

var map = new BMap.Map("allmap");var point = new BMap.Point(105.955754,36.525109);map.cent ...

百度地图API拾取坐标网址

http://api.map.baidu.com/lbsapi/getpoint/index.html

【百度地图API】如何根据摩卡托坐标进行POI查询,和计算两点距离

原文:[百度地图API]如何根据摩卡托坐标进行POI查询,和计算两点距离 摘要: 百度地图API有两种坐标系,一种是百度经纬度,一种是摩卡托坐标系.在本章你将学会: 1.如何相互转换这两种坐标: 2. ...

百度地图API二:根据标注点坐标范围计算显示缩放级别zoom自适应显示地图

原文:百度地图API二:根据标注点坐标范围计算显示缩放级别zoom自适应显示地图 版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/liusaint1992/ ...

百度地图api 实例 自动提示 并计算两地的行驶距离

百度地图api 实例 自动提示 并计算两地的行驶距离

【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具&plus;打车费用接口介绍

原文:[百度地图API]如何在地图上添加标注?--另有:坐标拾取工具+打车费用接口介绍 摘要: 在这篇文章中,你将学会,如何利用百度地图API进行标注.如何使用API新增的打车费用接口. ------ ...

利用百度地图API,获取经纬度坐标

利用百度地图API,获取经纬度坐标 代码很简单,但在网上没找到现成的获取地图经纬度的页面. 就是想,给当前页面传递一个经纬度,自动定位到此经纬度.然后可以重新选择,选择完返回经纬度. 效果如下: 源代 ...

PHP&plus;百度地图API&plus;JAVASCRIPT实现GPS坐标与百度坐标转换的实例

原文:PHP+百度地图API+JAVASCRIPT实现GPS坐标与百度坐标转换的实例

随机推荐

C&num;Linq技术中SelectMany&lpar;&period;&period;&period;&rpar;的内部实现推测

对于声明为:public static IEnumerable SelectMany(this IEnumerable&l ...

MVC执行顺序

MVC在底层和传统的asp.net是一致的,在底层之上,相关流程如下: 1)Global.asax里,MvcApplication对象的Application_Start()事件中,调用 RouteC ...

安装Sikulix

1.sikulix可以在xp,win7,8,10 Mac 10.10.x 以及Linux/Unix 系统上安装 2.安装Java支持 3.下载sikulisetup1.1.0.jar(那里下前篇有介绍 ...

深入研究java&period;lang&period;ProcessBuilder类

深入研究java.lang.ProcessBuilder类 一.概述       ProcessBuilder类是J2SE 1.5在java.lang中新添加的一个新类,此类用于创建操作系统进程,它 ...

在JSP中使用el函数标签获取默认值&lpar;男女性别选项&rpar;

http://blog.csdn.net/b10060224/article/details/45771025

CentOS SSH免密登陆

#环境说明客户机:Mac OS X服务器:CentOS 6.5客户端:OpenSSH,OS X及大多数Linux都内置了OpenSSH.’ssh -v’命令可以查看版本. #大致流程1.在客户机创建一 ...

android与JS交互&comma;互相调用方法&comma;跳转到网页

在main下面New - Folder - Assets Folder,在Assets下面新建一个js_android.html

Java一个枚举类的2种实现。

实现方式一: public enum Operation { PLUS, MINUS, TIMES, DIVIDE; double apply(double x, double y) { switch ...

c语言基础笔记

一 :数据类型 1.float类型,在输出的时候可以使用 .数字  来把浮点数精确到小数点后几位,比如 printf("%.3f",float)精确到小数点后三位,不足补0 2.字 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值