Добрый день, возникла следующая проблема. При создании двух калькуляторов доставки на одной странице, тот, который подгружается последним работает корректно, а тот, который первым не фомирует маршрут по запросу в блоке запроса.
ymaps.ready(['DeliveryCalculator']).then(function init () {
myMap = new ymaps.Map('tab-2', {
center: [55.149402, 36.623880],
zoom: 12,
type: 'yandex#map',
controls: []
}),
searchFinishPoint = new ymaps.control.SearchControl({
options: {
useMapBounds: true,
noCentering: true,
noPopup: true,
noPlacemark: true,
placeholderContent: 'Адрес конечной точки',
size: 'large',
float: 'none',
position: { left: 10, top: 14 }
}
}),
calculator = new ymaps.DeliveryCalculator(myMap);
calculator.setStartPoint([55.149402, 36.623880]);
myMap.controls.add(searchFinishPoint);
searchFinishPoint.events
.add('resultselect', function (e) {
var results = searchFinishPoint.getResultsArray(),
selected = e.get('index'),
point = results[selected].geometry.getCoordinates();
// Задаем конец маршрута.
calculator.setFinishPoint(point);
})
.add('load', function (event) {
// По полю skip определяем, что это не дозагрузка данных.
// По getResultsCount определяем, что есть хотя бы 1 результат.
if (!event.get('skip') && searchFinishPoint.getResultsCount()) {
searchFinishPoint.showResult(0);
}
});
});второй код
ymaps.ready(['DeliveryCalculator_2']).then(function init () {
mapMsc = new ymaps.Map('tab-1', {
center: [55.814842, 37.777817],
zoom: 12,
type: 'yandex#map',
controls: []
}),
searchFinishPoint1 = new ymaps.control.SearchControl({
options: {
useMapBounds: true,
noCentering: true,
noPopup: true,
noPlacemark: true,
placeholderContent: 'Адрес конечной точки',
size: 'large',
float: 'none',
position: { left: 10, top: 14 }
}
}),
calculator = new ymaps.DeliveryCalculator_2(mapMsc);
calculator.setStartPoint([55.814842, 37.777817]);
mapMsc.controls.add(searchFinishPoint1);
searchFinishPoint1.events
.add('resultselect', function (e) {
var results1 = searchFinishPoint1.getResultsArray(),
selected1 = e.get('index'),
point1 = results1[selected1].geometry.getCoordinates();
// Задаем конец маршрута.
calculator.setFinishPoint(point1);
})
.add('load', function (event1) {
// По полю skip определяем, что это не дозагрузка данных.
// По getResultsCount определяем, что есть хотя бы 1 результат.
if (!event1.get('skip') && searchFinishPoint1.getResultsCount()) {
searchFinishPoint1.showResult(0);
}
});
});Я так понимаю, что обе карты пытаются запрашивать одинаковый результат из поиска, непонятно, что именно требуется поставить как уникальный идентификатор.