如何循环使用Google Maps API旅行模式

时间:2014-04-23 00:39:46

标签: javascript google-maps object google-maps-api-3

我正在尝试使用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"
} 

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

$.each的回调有两个参数,键和值,您必须使用第二个参数(目前您尝试访问google.maps.TravelMode.0google.maps.TravelMode.1google.maps.TravelMode.2):

$.each(methods, function(key, method){/**/}