大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
获取到两点的经纬度,再调用百度地图的api计算。我记得,有一个计算距离的api.
荣成网站建设公司创新互联建站,荣成网站设计制作,有大型网站制作公司丰富经验。已为荣成成百上千提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的荣成做网站的公司定做!
script type="text/javascript"
// 百度地图API功能
var map = new BMap.Map("allmap");
map.centerAndZoom("重庆",12); //初始化地图,设置城市和地图级别。
var pointA = new BMap.Point(106.486654,29.490295); // 创建点坐标A--大渡口区
var pointB = new BMap.Point(106.581515,29.615467); // 创建点坐标B--江北区
alert('从大渡口区到江北区的距离是:'+(map.getDistance(pointA,pointB)).toFixed(2)+' 米。'); //获取两点距离,保留小数点后两位
var polyline = new BMap.Polyline([pointA,pointB], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}); //定义折线
map.addOverlay(polyline); //添加折线到地图上
/script
LZ题目给的不是很准确。。跑道是否为环形跑道?
要用JAVA 写出来,首先就要去分析这道数学题中的逻辑问题
1:若为直线跑道,要有相遇 必然是乌龟在前,兔子在后。。定义为追击问题。。
求出速度差 v = 20 -10 = 10
追击路程为 s = 1000
可以得出相遇时间,也就是兔子追上乌龟的时间为 t = 1000/10 = 100(单位题目没有给出。分析应该是min 分钟)
2:若为环形跑道
一圈是多少米,题目没有给出。。故无法算出
分析完数学逻辑,再来写程序代码
public class Test9 {
public static void main(String[] args) {
//定义乌龟速度
int v1 = 10;
//定义兔子速度
int v2 = 20;
//定义整个路程
int sum = 1000;
//求出时间
double t = sum/(v2-v1);
System.out.println(t);
}
}
public static double geo_distance(double lat1, double lng1, double lat2,
double lng2) {
// earth's mean radius in KM
double r = 6378.137;
lat1 = Math.toRadians(lat1);
lng1 = Math.toRadians(lng1);
lat2 = Math.toRadians(lat2);
lng2 = Math.toRadians(lng2);
double d1 = Math.abs(lat1 - lat2);
double d2 = Math.abs(lng1 - lng2);
double p = Math.pow(Math.sin(d1 / 2), 2) + Math.cos(lat1)
* Math.cos(lat2) * Math.pow(Math.sin(d2 / 2), 2);
double dis = r * 2 * Math.asin(Math.sqrt(p));
return dis;
}
public static double geo_distance(double lat1, double lng1, double lat2,
double lng2) {
// earth's mean radius in KM
double r = 6378.137;
lat1 = Math.toRadians(lat1);
lng1 = Math.toRadians(lng1);
lat2 = Math.toRadians(lat2);
lng2 = Math.toRadians(lng2);
double d1 = Math.abs(lat1 - lat2);
double d2 = Math.abs(lng1 - lng2);
double p = Math.pow(Math.sin(d1 / 2), 2) + Math.cos(lat1)
* Math.cos(lat2) * Math.pow(Math.sin(d2 / 2), 2);
double dis = r * 2 * Math.asin(Math.sqrt(p));
return dis;
}
public class test{
public static double[] sum(double h,int k){
//h为初始高度,k为总次数
double[] temp = new double[2];
double sum =0;
double height =h;
if(k0){
temp =sum(h/2,k-1);
height =temp[1];
sum = h+h/2+ temp[0];
}
temp[0]=sum;
temp[1]=height;
if(k==0){
temp[0]-=h;
}
return temp;
//数组中为当次总路程和当前高度
}
public static void main(String[] args){
double[] test = new double[2];
test = sum(2,2);
System.out.println("经过"+test[0]+"米"+"反弹高度"+test[1]+"米");
}
}