Javascript 将谷歌地图高程输出转换为英尺而不是米

Javascript 将谷歌地图高程输出转换为英尺而不是米,javascript,google-maps,math,google-maps-api-3,Javascript,Google Maps,Math,Google Maps Api 3,这只是我的项目中的一段代码,但它当前显示的是地图和立面栏。立面栏当前显示的是公制,而不是英制。显然,我已经定义了帝国主义。有什么想法吗 ds.route({ origin: from, destination: to, travelMode: google.maps.DirectionsTravelMode.DRIVING, unitSystem: google.maps.UnitSystem.IMPERIAL }, function(result, status) {

这只是我的项目中的一段代码,但它当前显示的是地图和立面栏。立面栏当前显示的是公制,而不是英制。显然,我已经定义了帝国主义。有什么想法吗

     ds.route({
  origin: from,
  destination: to,
  travelMode: google.maps.DirectionsTravelMode.DRIVING,
  unitSystem: google.maps.UnitSystem.IMPERIAL
}, function(result, status) {
  if (status == google.maps.DirectionsStatus.OK) {
      fitBounds = true;
      dr.setDirections(result);
    }
}); 

更新:这些信息是否会传递给谷歌的提升服务?似乎如果您在这里定义imperial,它应该执行。

您的代码返回米作为高程。 要将其转换为英制,请将米转换为英尺

var writeStats = function(r) {
  var prevElevation = r[0].elevation;
  var climb = 0;
  var drop = 0;
  var max = 0;
  for (var i = 1; i < r.length; i++) {
    var diff = r[i].elevation - prevElevation;
    prevElevation = r[i].elevation;
    if (diff > 0) {
      climb += diff;
      climb = Math.abs(climb / 1) ;//Object to number
      var  climb2 = climb  * 3.2808399;//Metres to feet

    }
    else {
      drop -= diff;
      drop = Math.abs(drop / 1) ;
      var  drop2 = drop  * 3.2808399;

    }

    if (r[i].elevation > max) {
      max = r[i].elevation;
    }
  }
  max = Math.ceil(max);
  $('#climb-drop').text("Climb: " + Math.round(climb2) + " feet Drop: " + Math.round(drop2) + " feet");
  return max;
};
var writeStats=函数(r){
var prevElevation=r[0]。高程;
var爬升=0;
var下降=0;
var max=0;
对于(变量i=1;i0){
爬升+=差异;
爬升=Math.abs(爬升/1);//对象到数字
var climb2=爬升*3.2808399;//米到英尺
}
否则{
下降-=差异;
下降=数学绝对值(下降/1);
var drop2=下降*3.2808399;
}
如果(r[i]。高程>最大值){
max=r[i]。高程;
}
}
max=Math.ceil(max);
$(“#爬升下降”).text(“爬升:+Math.round(爬升2)+”英尺下降:“+Math.round(下降2)+”英尺”);
返回最大值;
};

不确定这个问题是指什么。你想把谷歌地图的输出改为英尺吗?或者你想知道如何将米转换成英尺?在这种情况下,
1英尺=0.3048米
我想把谷歌地图的输出改为feet@Pekka웃您的代码中似乎没有任何涉及谷歌地图API的内容-您在何处进行了哪些调用?下面是一个包含整个代码的粘贴库@佩卡웃我相当确定您需要将
unitSystem
参数设置为
imperial
:但我不太确定具体放在哪里(以前从未使用过方向)@benknighthorse终于排序了,请参见新代码。必须将对象更改为number
Math.abs(爬升/1)
然后使用乘法创建新变量
var drop2=drop*3.2808399