我在使用这个脚本时遇到了一些麻烦 - 本质上它是一个解析CSV并使用CSV中的数据的脚本 - 构建一个城镇名称列表和相关标记谷歌地图。每个标记作为弹出的信息窗口,其中包含一些信息,如地方议会,旅游链接等。它还包含使用Google的获取距离矩阵的距离和旅行时间信息,如此处所示(您可以在这段代码在下面的CodePen中使用):
service.getDistanceMatrix({
origins: [whereIsUser],
destinations: [new google.maps.LatLng(results.data[i][5], results.data[i][6])],
travelMode: 'DRIVING',
drivingOptions: {
departureTime: timeInMs,
trafficModel: 'optimistic'
},
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, function (response, status) {
if (status !== 'OK') {
console.log('Error was: ' + status);
} else {
theDistance.push(response.rows[0].elements[0].distance.text);
theDuration.push(response.rows[0].elements[0].duration.text);
}
});
我已经在下方添加了CodePen - 作为一个工作示例,您也可以访问此处https://codepen.io/markorapaic/live/yoVVQb
请参阅DRH Town Map上Marko Rapaic(@markorapaic)的笔CodePen。
如果用户选择在他们选择的浏览器中启用位置跟踪,或者南澳大利亚阿德莱德,则距离和旅行时间基于用户的位置。基本上发生的事情是,当脚本/页面最初加载时,如果您点击并查看某些位置,距离就会偏离,旅行时间与Google估算的距离完全相同地图。但是,如果您之后再次加载页面,距离会变得稳定和准确,并且行程时间会变得稳定,但仍然不准确。
基本上只是想知道(a)是否有人知道为什么会出现这个问题以及如何最大限度地减少不准确或完全删除它们,以及(b)如果有更好的方法我可以实现这整个解决方案。感谢您的任何反馈!