Как программно установить фокус в поле "Куда" панели маршрутизации?
У меня карта размещена в модальном окне бустрап и по умолчанию не винда. При нажатии кнопки "Рассчитать калькулятором" всплывает модальное окно расчета стоимости доставки взятый из примера https://yandex.ru/dev/maps/jsbox/2.1/deliveryCalculator/ Но если бы карта была сразу видна, то поле "Куда" сразу было бы в фокусе. Но так как пользователь не понимает что делать, мне надо чтобы это поле сразу было активно, потому что при этом курсор принимает другой вид и пользователь может сразу тыкнуть на карте на место назначения. В виду того что на телефоне место мало для дополнительных инструкций нужно решить мне эту задачу. Всё это я делаю под телефон. Под десктоп проблем нет, там есть куда вставить инструкцию, но все же нужно максимально автоматизировать процесс указания адреса доставки
Ответы (1 шт):
Контрол можно сделать активным вызовом focus(). Но имейте в виду, что метод не описан, а потому не разрешён пользовательским соглашением и может быть в любой момент изменён или удалён, хотя сейчас вполне работоспособен.
ymaps.ready(init);
function init() {
var myMap = new ymaps.Map('map', {
center: [55.753994, 37.622093],
zoom: 9,
controls: ['routePanelControl']
});
var control = myMap.controls.get('routePanelControl');
// Отслеживаем смещение карты
myMap.events.add('boundschange', function () {
// Возвращаем фокус на панель для построения машрутов
control.routePanel.focus();
});
}
html, body, #map {
width: 100%;
height: 100%;
}
<html>
<head>
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=" type="text/javascript"></script>
</head>
<body>
<div id="map"></div>
</body>
</html>