Google maps 谷歌矩阵没有以英里为单位返回值?
我一直在努力让谷歌矩阵以英里为单位返回回复。api似乎将文本返回为英里,但将值返回为公里。我错过什么了吗?我的代码如下。我还攻击了响应的屏幕截图Google maps 谷歌矩阵没有以英里为单位返回值?,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我一直在努力让谷歌矩阵以英里为单位返回回复。api似乎将文本返回为英里,但将值返回为公里。我错过什么了吗?我的代码如下。我还攻击了响应的屏幕截图 根据我使用谷歌地图的经验,值总是以米为单位,可能是出于标准化的原因。因此,单位名称仅指返回的文本,而不是物理距离 解决方案 将米除以1609.34 使用parseFloat(value.replace('mi',''),尽管这不太准确 这就是问题所在 距离矩阵结果 距离:此路线的总距离,以米(值)和文本表示文本值根据请求中指定的单位系统进行格式化(如
根据我使用谷歌地图的经验,
值总是以米为单位,可能是出于标准化的原因。因此,单位名称仅指返回的文本,而不是物理距离
解决方案
将米除以1609.34
使用parseFloat(value.replace('mi','')
,尽管这不太准确
这就是问题所在
距离矩阵结果
距离:此路线的总距离,以米(值)和文本表示文本值根据请求中指定的单位系统进行格式化(如果未提供首选项,则采用公制)。
您可以将以米为单位的值转换为您喜欢的单位制。我遇到了类似的问题。我误解了单位系统文档:单位-指定将距离表示为文本时使用的单位系统…单位系统-注意:距离字段还包含始终以米表示的值。我没有意识到这个值总是以米为单位。
function calculateDistances() {
var postcode= $('#postcode-check').val();
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: ['NW6 1HR'],
destinations: [postcode],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL,
avoidHighways: false,
avoidTolls: false,
}, callback);
}