我正在开展一个项目,我需要计算两点之间的距离。 我刚刚使用了距离函数。我很恐怖,当我提醒时,结果是正确的。但是,当我使用document.getElementById时,它不起作用。 我想知道这里是否有人可以帮助我弄清楚我的代码中发生了什么...... 非常感谢你!
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>
google.maps.LatLng.prototype.distanceFrom = function(newLatLng) {
if (newLatLng==undefined) return false;
var dLat = (newLatLng.lat()-this.lat()) * Math.PI / 180;
var dLon = (newLatLng.lng()-this.lng()) * Math.PI / 180;
var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(this.lat() * Math.PI / 180 ) * Math.cos(newLatLng.lat() * Math.PI / 180 )* Math.sin(dLon/2) * Math.sin(dLon/2);
return 6371000 * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
}
</script>
</head>
<body>
<script>
var loc1 = new google.maps.LatLng(52.5773139, 1.3712427);
var loc2 = new google.maps.LatLng(52.4788314, 1.7577444);
alert (Math.round(loc1.distanceFrom(loc2)/10)/160 + 'mi');
document.getElementById("1").innerHTML=Math.round(loc1.distanceFrom(loc2)/10)/160 + 'mi';
</script>
<p id="1">xyz
</p>
</body>
</html>
答案 0 :(得分:0)
您的脚本包含Google Maps Javascript API v3:
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
该API没有google.maps.LatLng对象的distanceFrom方法。要计算v3 API中两个坐标之间的(直线)距离,请使用geometry library computeDistanceBetween方法。