cdek-it / widget

Базовое решение по интеграции карты выбора ПВЗ от СДЭК
https://widget.cdek.ru
GNU Lesser General Public License v3.0
8 stars 1 forks source link

Метод updateLocation не сбрасывает текущий zoom #56

Closed ubzor closed 6 months ago

ubzor commented 7 months ago

Если искать во встроенном поиске населённый пункт и выбирать его из выпадающего списка - карта перемещается к этому населённому пункту, и меняет значение zoom карты на достаточно маленькое, чтобы видеть все точки выдачи. Если же устанавливать населённый пункт через метод updateLocation, то меняются только координаты центра карты, значение zoom остаётся таким, каким было до этого. Можно ли сделать так, чтобы значение zoom при использовании метода updateLocation устанавливалось аналогично тому как это сделано во встроенном поиске?

vermorag commented 7 months ago

Добрый день. Нужна возможность для автоназначения зума, или возможность задать кастомный зум вместе с локацией?

ubzor commented 7 months ago

Идеально, конечно, было бы зумить карту в зависимости от размеров заданного населённого пункта, но я не уверен, что у нас есть эти данные. Вполне достаточно было бы, чтобы зум сбрасывался в то же значение, что и при поиске. Можно ли также сделать возможность сброса выбранной точки и закрытия менюшки при вызове updateLocation?

vermorag commented 7 months ago

Сброс выбранной точки делается при вызове clearSelection() метода. А какую из менюшек закрывать надо?

Зумить карту от размера НП - идея интересная. Можно попробовать ее раскурить в формате: у нас есть две точки (левый верхний угол НП и правый верхний угол НП), значит можно вычислить между ними относительную площадь, тобишь размер. И относительно этого сопоставлять с цифрой зума. Можете это вынести в идею на гитхабе.

По зуму на updateLocation номер вашего запроса CMS-873. Можете подсказать на сколько это критичная фича в вашем понимании?

ubzor commented 6 months ago

Сброс выбранной точки делается при вызове clearSelection() метода. А какую из менюшек закрывать надо?

Метод clearSelection() делает как раз то что нам нужно, спасибо. В документации он почему-то не описан.

Зумить карту от размера НП - идея интересная. Можете это вынести в идею на гитхабе.

Готово

По зуму на updateLocation номер вашего запроса CMS-873. Можете подсказать на сколько это критичная фича в вашем понимании?

Это единственная вещь которая блокирует использование вашего виджета у нас на продакшне. Upd.: временно решил проблему, дописал mapStore.location.zoom = YandexMapZoomVariants.GENERAL; в конец функции updateLocation()