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