2017-01-04 8 views
0

Здесь я посмотрел разные ответы, но кажется, что об этом мало. У меня есть этот массив, заполненный пункты назначения:Как передать массив в матрицу адресатов Google Maps api, параметр назначения в jquery?

Picture is from the google chrome console.

И у меня есть следующий код, где я позвонить в Google сопоставляет пункты назначения API матрицы:

var distanceService = new google.maps.DistanceMatrixService(); 
      distanceService.getDistanceMatrix({ 
        origins: [pos], 
        destinations: [points], 
        travelMode: google.maps.TravelMode.DRIVING, 
        unitSystem: google.maps.UnitSystem.METRIC, 
        durationInTraffic: true, 
        avoidHighways: false, 
        avoidTolls: false 
       }, 
       function (response, status) { 
        if (status !== google.maps.DistanceMatrixStatus.OK) { 
         console.log('Error:', status); 
        } else { 
         console.log(response); 
        } 
       }); 

код работает нормально если я прохожу только один объект массива с параметром destinations, как:

destinations:[points[1]] 

или если я дам несколько направлений, таких как:

destinations:[points[0],points[1],points[2]], 

Но если я передать весь массив с параметром destinations, как вы видите, в основном коде изображения, я получаю следующее сообщение об ошибке:

InvalidValueError: in property destinations: at index 0: not a string; and not a LatLng or LatLngLiteral: in property lat: not a 

number; and unknown property 0

Google Maps API говорит, что вы можете передать массив параметру destinations, но что я здесь делаю неправильно?

+0

Попробуйте 'направления: [points.map (функция (точка) {точка возврата;})] ' –

+0

@ElmerDantas спасибо, но не работает – DevMan

+0

Поскольку я никогда не использовал этот API, я просто догадываюсь, что вы можете сделать ... например, если принимает' Array' и 'points' уже Array , может быть, вам не нужны скобки. Это будут только «адресаты: точки» –

ответ

1

если принимает массив и точек уже является массивом, может быть, вам не нужно будет brackets..it только destinations: points