Javascript 从谷歌距离计算器计算距离,然后乘以数字,但

Javascript 从谷歌距离计算器计算距离,然后乘以数字,但,javascript,Javascript,在将值与数字相乘时,如何删除字符串。由于来自谷歌距离计算器的字母表,这个代码错误出现为NaN。如何将结果末尾的“km”或“miles”以数字的倍数删除,然后将结果显示在标签上 资料来源: 目的地: var来源、目的地; var方向显示; var directionsService=new google.maps.directionsService(); google.maps.event.addDomListener(窗口'load',函数(){ 新的google.maps.places

在将值与数字相乘时,如何删除字符串。由于来自谷歌距离计算器的字母表,这个代码错误出现为NaN。如何将结果末尾的“km”或“miles”以数字的倍数删除,然后将结果显示在标签上


资料来源:
目的地:


var来源、目的地; var方向显示; var directionsService=new google.maps.directionsService(); google.maps.event.addDomListener(窗口'load',函数(){ 新的google.maps.places.SearchBox(document.getElementById('txtSource'); 新的google.maps.places.SearchBox(document.getElementById('txtDestination'); directionsDisplay=new google.maps.DirectionsRenderer({'Dragable':false}); }); 函数GetRoute(){ var heathrow=new google.maps.LatLng(51.4711620,-0.4523710); 变量映射选项={ 缩放:7, 中心:希思罗机场 }; map=new google.maps.map(document.getElementById('dvMap'),mapOptions); 方向显示.setMap(地图); //*用于价格计算*// //*********方向和路线**********************// source=document.getElementById(“txtSource”).value; destination=document.getElementById(“txtDestination”).value; var请求={ 来源:来源:, 目的地:目的地, travelMode:google.maps.travelMode.DRIVING }; 路由(请求、功能(响应、状态){ if(status==google.maps.directionstatus.OK){ 方向显示。设置方向(响应); } }); //*********距离和持续时间**********************// var service=new google.maps.DistanceMatrixService(); service.getDistanceMatrix({ 来源:[来源], 目的地:[目的地], travelMode:google.maps.travelMode.DRIVING, unitSystem:google.maps.unitSystem.METRIC, 避免:错误, 避免收费:错误 },功能(响应、状态){ if(状态==google.maps.DistanceMatrixStatus.OK&&response.rows[0]。元素[0]。状态!=“零结果”){ var distance=response.rows[0]。元素[0]。distance.text; var duration=response.rows[0]。元素[0]。duration.text; var dvDistance=document.getElementById(“dvDistance”); dvDistance.innerHTML=“”; dvDistance.innerHTML+=“距离:”+Distance+“
”; dvDuration.innerHTML+=“持续时间:”+持续时间; var distanceMeters=response.rows[0].元素[0].距离.value; rate=document.getElementById('Fareid')。innerHTML=rate*distanceMeters; }否则{ 警报(“无法通过道路找到距离”); } }); }
试试这个 var rate=document.getElementById('rate')。值


丢失度量单位是个坏主意。如果距离是以英里为单位,而你的计算方式是以公里为单位,那么你会得到非常不同的价格,反之亦然。还有,你为什么不直接用谷歌地图来计算距离呢?(不同的算法?)。不是服务器端版本。如果你能看一看的话,我会把我正在处理的整个页面都贴到代码段上。这完全不同。很明显你没有试过这是个问题你可以看看我也改变了
 dvDistance = parseInt(document.getElementById('dvDistance').innerHTML);
 var rate = document.getElementById('rate').value;
 document.getElementById('Fareid').innerHTML = rate * dvDistance;
            var distanceMeters = response.rows[0].elements[0].distance.value;

            rate=document.getElementById('Fareid').innerHTML = rate * distanceMeters;