我正在尝试使用JavaScript通过循环访问google.maps.TravelMode属性,从Google Maps JavaScript API获取驾驶,步行和骑自行车的一系列路线。我试图通过使用方括号和方法名称来做到这一点,但是当我这样做时,我收到以下错误消息:
未捕获的InvalidValueError:在属性travelMode中:undefined
这是循环:
var methods = new Array("DRIVING", "WALKING", "BICYCLING");
$.each(methods, function(method) {
request.travelMode = google.maps.TravelMode[method];
directionsService.route(request, function(response) {
directionsDisplay.setDirections(response);
console.log(directionsDisplay.getDirections());
});
});
我认为上面的代码部分中的第三行是错误的。
如果我将google.maps.TravelMode对象打印到控制台,则会出现以下内容:
Object {
DRIVING: "DRIVING",
WALKING: "WALKING",
BICYCLING: "BICYCLING",
TRANSIT: "TRANSIT"
}
有什么想法吗?
答案 0 :(得分:2)
$.each
的回调有两个参数,键和值,您必须使用第二个参数(目前您尝试访问google.maps.TravelMode.0
,google.maps.TravelMode.1
,google.maps.TravelMode.2
):
$.each(methods, function(key, method){/**/}