谢谢啦,希望效果和这个JAVA效果一致就行
[java] view plaincopy
public double getDistance(LatLng start,LatLng end){
double lat1 = (Math.PI/180)*start.latitude;
double lat2 = (Math.PI/180)*end.latitude;
double lon1 = (Math.PI/180)*start.longitude;
double lon2 = (Math.PI/180)*end.longitude;
// 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;
}
举例:(我使用的百度地图的经纬度数据)
[java] view plaincopy
LatLng start = new LatLng(39.95676, 116.401394);
LatLng end = new LatLng(36.63014,114.499574);
getDistance(start, end);
将JAVA代码转换成asp
答案:3 悬赏:50 手机版
解决时间 2021-03-15 08:30
- 提问者网友:蓝琪梦莎
- 2021-03-14 11:24
最佳答案
- 五星知识达人网友:迟山
- 2021-03-14 12:49
你可以考虑下用JAVASCRIPT来完成该功能,下面这个函数你可以看下<br><script><br>var EARTH_RADIUS = 6378137.0; //单位M <br>var PI = Math.PI; <br>function getRad(d){ <br>return d*PI/180.0; <br>} <br> <br>function getGreatCircleDistance(lat1,lng1,lat2,lng2){ <br>var radLat1 = getRad(lat1); <br>var radLat2 = getRad(lat2); <br>var a = radLat1 - radLat2; <br>var b = getRad(lng1) - getRad(lng2); <br>var s = 2*Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2))); <br>s = s*EARTH_RADIUS; <br>s = Math.round(s*10000)/10000.0; <br>return s; <br>} <br>//举例:<br>alert(getGreatCircleDistance(39.95676, 116.401394,36.63014,114.499574)); //返回值单位是米<br></script>
全部回答
- 1楼网友:笑迎怀羞
- 2021-03-14 14:15
我觉得是要看ASP的函数在Java中能不能全都实现,比如ASP中的response.write()方法可以用Java的response.println();实现,如果所有函数都可以用简单的Java代码实现,那就是可行的。
要点难度就不清楚了,估计是用Java实现ASP内置对象的复杂程度吧。
仅属个人观点,请高手指点。
- 2楼网友:洎扰庸人
- 2021-03-14 13:52
public static void decrypt(byte[] p)
{
byte[] data = p;
string key = "qmfaktnpgjs";
stringbuilder sbd = new stringbuilder();
int length = data.length; //获取数组长度,无需每次循环都计算
for (int i = 0; i < length; i++)
{
if (data[i] != 0 && data[i] != key[i % 11])
{
sbd.append(data[i] ^ key[i % 11]);
}
else
{
sbd.append(data[i]);
}
sbd.append(" ");
}
system.out.println(sbd.tostring());
}c# 和 java 的有着异曲同工之妙,只需修改一些方法大小写及语句即可- -.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯