如何获取浏览器的语言环境测量单位

gpc*_*ola 3 javascript google-maps-api-3

我有一个以公里为单位的值,我希望将其转换为浏览器的区域设置特定测量单位(公里或英里)。

我正在使用谷歌地图 API v3 方向服务,特别是本页上的最后一个例子。

function computeTotalDistance(result) {
  var total = 0;
  var myroute = result.routes[0];
  for (i = 0; i < myroute.legs.length; i++) {
    total += myroute.legs[i].distance.value;
  }
  total = total / 1000.
  document.getElementById("total").innerHTML = total + " km";
}
Run Code Online (Sandbox Code Playgroud)

我将如何确定浏览器的区域设置测量单位,以便在必要时执行转换?

Zet*_*eta 6

我想最简单的方法是检查window.navigator.language和检查用户是否选择了"en-US""my",因为大多数国家/地区都引入了公制系统(参见这张地图)。您也可以使用 GeoIP,但总而言之,您应该为用户提供更改系统的选项,如果他更喜欢另一个。

浏览器本身不存储任何测量单位首选项。