2点之间的距离

Posted

技术标签:

【中文标题】2点之间的距离【英文标题】:Distance between 2 points 【发布时间】:2019-09-19 16:01:08 【问题描述】:

我想使用 Map V3 库获取两点之间的距离, 我想从用户那里得到纬度和经度。

这可能是什么问题?

<div class="form">
          <form action="LatLng" method="post" id="LatLng" class="LatLng">
           <h2>Source</h2>
           <input type="text" id="latitude" placeholder="Latitude" value="" class="txt">
            <input type="text" id="longitude" placeholder="Longitude" value="" class="txt">  
             <h2>Destination</h2>                                  
             <input type="text" id="Dlatitude" placeholder="Latitude" value="" class="txt">
             <input type="text" id="Dlongitude" placeholder="Longitude" value="" class="txt"> 
               <input type="submit" value="submit" name="submit" class="txt2">

          </form>
</div>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry"></script>

<script>
var srcLatitude = document.getElementById('latitude').value;
var srcLongitude = document.getElementById('longitude').value;
var destLatitude = document.getElementById('Dlatitude').value;
var destLongitude = document.getElementById('Dlongitude').value;
document.querySelector('form.LatLng').addEventListener('submit', function (e)
    var lat1 = parseFloat(srcLatitude);
    var lon1 = parseFloat(srcLongitude);
    var lat2 = parseFloat(destLatitude);
    var lon2 = parseFloat(destLongitude);

    var p1 = new google.maps.LatLng(lat1, lon1);
    var p2 = new google.maps.LatLng(lat2, lon2);

    alert(calcDistance(p1, p2));

    //calculates distance between two points in km's
    function calcDistance(p1, p2) 
    return (google.maps.geometry.spherical.computeDistanceBetween(p1, p2) / 1000).toFixed(6);
    
);
</script>

【问题讨论】:

“它以 NaN 形式发出警报”是什么意思?运行代码时,您在屏幕上看到了什么? 另请阅读ericlippert.com/2014/03/05/how-to-debug-small-programs 以获取有关调试代码的提示。 @Code-Apprentice 我已经使用Js的alert方法弹出了一个简单的Message。 该警报显示了什么?可以提供截图吗? 【参考方案1】:

在上面的代码中,您在单击提交按钮之前为变量赋值。 相反,您应该在 EventListener 函数中移动这些分配。

var srcLatitude = document.getElementById('latitude').value;
var srcLongitude = document.getElementById('longitude').value;
var destLatitude = document.getElementById('Dlatitude').value;
var destLongitude = document.getElementById('Dlongitude').value;

【讨论】:

以上是关于2点之间的距离的主要内容,如果未能解决你的问题,请参考以下文章

2点之间的距离

cad怎么一下测多个点之间的距离

这两个或多个点之间的最长距离

text 线长 - 2点之间的距离

html 找到2点之间的距离

使用python计算谷歌地图中2点之间的距离