将JAVA代码转换成asp
谢谢啦,希望效果和这个JAVA效果一致就行[java]viewplaincopy/***计算两点之间距离*@paramstart*@paramend*@return米*/...
谢谢啦,希望效果和这个JAVA效果一致就行
[java] view plaincopy
/**
* 计算两点之间距离
* @param start
* @param end
* @return 米
*/
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] view plaincopy
/**
* 计算两点之间距离
* @param start
* @param end
* @return 米
*/
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); 展开
2个回答
展开全部
你可以考虑下用JAVASCRIPT来完成该功能,下面这个函数你可以看下
<script>
var EARTH_RADIUS = 6378137.0; //单位M
var PI = Math.PI;
function getRad(d){
return d*PI/180.0;
}
/**
* caculate the great circle distance
* @param {Object} lat1
* @param {Object} lng1
* @param {Object} lat2
* @param {Object} lng2
*/
function getGreatCircleDistance(lat1,lng1,lat2,lng2){
var radLat1 = getRad(lat1);
var radLat2 = getRad(lat2);
var a = radLat1 - radLat2;
var b = getRad(lng1) - getRad(lng2);
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)));
s = s*EARTH_RADIUS;
s = Math.round(s*10000)/10000.0;
return s;
}
//举例:
alert(getGreatCircleDistance(39.95676, 116.401394,36.63014,114.499574)); //返回值单位是米
</script>
展开全部
我觉得是要看ASP的函数在Java中能不能全都实现,比如ASP中的response.write()方法可以用Java的response.println();实现,如果所有函数都可以用简单的Java代码实现,那就是可行的。
要点难度就不清楚了,估计是用Java实现ASP内置对象的复杂程度吧。
仅属个人观点,请高手指点。
要点难度就不清楚了,估计是用Java实现ASP内置对象的复杂程度吧。
仅属个人观点,请高手指点。
追问
我是想把JAVA转换成asp,实现相同效果就行
通过经纬度计算两地距离
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询