Я не очень хорошо знаком с последним API, но когда я использовал ember-leaflet
в проекте в конце 2017 / начале 2018 года, я определил по крайней мере два варианта для этого варианта использования.То, что вы выберете, зависит от вашего варианта использования и того, что вы считаете «правильным».
Вы можете использовать действие onLoad
компонента ember-map
{{#leaflet-map onLoad=(action "showAllPins") }}
и обрабатывать логику установки границ здесь в действии
showAllPins(map){
let mapTarget = map.target;
let disableDrag = this.disableDrag;
// you *can* do totally store the map for later use if you want but... the
// addon author is trying to help you avoid accessing leaflet functions directly
this.set('map', mapTarget);
/* determine min/max lat and lng */
//set the bounds
mapTarget.fitBounds([[lowestLatitude, lowestLongitude], [highestLatitude, highestLongitude]]);
}
или выможно использовать наследование, расширяя LeafletMap
и иметь собственную пользовательскую версию карты листовок, которая обрабатывает настройку масштабирования для конкретного домена (расширение этого класса позволяет переопределять / расширять существующие методы, которые имеют доступ к базовому объекту листовки).