Здесь я посмотрел разные ответы, но кажется, что об этом мало. У меня есть этот массив, заполненный пункты назначения:Как передать массив в матрицу адресатов Google Maps api, параметр назначения в jquery?
И у меня есть следующий код, где я позвонить в 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
, но что я здесь делаю неправильно?
Попробуйте 'направления: [points.map (функция (точка) {точка возврата;})] ' –
@ElmerDantas спасибо, но не работает – DevMan
Поскольку я никогда не использовал этот API, я просто догадываюсь, что вы можете сделать ... например, если принимает' Array' и 'points' уже Array , может быть, вам не нужны скобки. Это будут только «адресаты: точки» –