我使用google的距离矩阵api获取距离和时间,如下所示。
function calculateDistances() {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [from],
destinations: [to],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, callback);
}回调函数会返回时间和距离。
我有时遇到的问题是,如果距离很远,时间会以小时为单位返回,但我总是需要分钟来进行自定义计算方法……
我怎样才能解决这个问题...
发布于 2016-11-15 21:07:43
请检查响应对象,您将有两个值text和value。属性具有以秒为单位的持续时间。
“时长”:{"text“:"19小时9分钟”,"value“:68914}
发布于 2014-05-17 01:55:22
我猜答案实际上是一个从评论中提取字符串的问题。如果返回的结果是"1 hour 41 min",那么基本上您希望从字符串中提取数字。有很多正则表达式可以做到这一点。但是你可以通过一些直接的字符串操作来实现。
var yourTime = "1 hour 41 min";
var result = yourTime.replace('hour','|');
result = result.replace('min','').trim();
var items = result.split("|");
//you now have an array where the first value is the hours and the second is the minutes有一些事情需要考虑,比如尾随空格和前导空格,但是一旦数字被提取出来,它就变成了数学问题。
https://stackoverflow.com/questions/23700439
复制相似问题