Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951

Leaflet js как сфокусировать карту при загрузке на центре

15.10.2020, 12:24. Показов 1112. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, есть некоторая non-geographic карта, созданная в leafletjs, то есть вместо карты подгружен jpg, но сути это не меняет.
Я создаю карту, потом отрисовываю на ней линии(polylines) - это все при открытии страницы html, все просто.
Но после всей прорисовки карта фокусируется на последней отрисованной polyline.
Как сделать так чтобы карта после всего фокусировалась на центре карты, например, с отрицательным зумом?
Для отдельных точек я иcпользую map.setView и map.fleTo в другой функции и это работатет.
Однако если я после всех загрузок пишу что-то из этого, то не работает.
Что делать?
Мне кажется из-за асинхронности js, но куда вставлять в коде. Сами методы точно рабочие....

Вот два промиса получаю:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
const promise = getAllPaths('electro', 6594, 10000); //получаем промис от функции парсинга путей                    
                    promise.then((value) => 
                        {    
                           
                            lineGroup.addTo(map);//добавляем слой путей на карту
                            
                            const promiseStat = getStationPolygon();                    
                            promiseStat.then((value) => 
                                {
                                    stationPolygonGroup.addTo(map);//добавляем слой полигонов на карту 
                                     map.setView(mapCenter, -5); //тут я как раз пытаюсь сделать то что описано
                                });                                                    
                        });
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2020, 12:24
Ответы с готовыми решениями:

Leaflet: Как передать параметры в функцию при событии event?
Доброе утро! У меня есть такой код: polygon.on('click', polygonClick); function polygonClick(event) { let label =...

Как найти потенциал в центре кольца и в центре дуги
объясните, пожалуйста, как интегрированием можно найти потенциал в центре дуги из согнутого проводника и потенциал в центре окружности тоже...

Подскажите как воспользоваться leaflet
Здравствуйте, надо создать такую панель https://github.com/stefanocudini/leaflet-panel-layers , но я не понял что с этим делать, просто...

2
 Аватар для Ovederax
604 / 404 / 212
Регистрация: 30.04.2017
Сообщений: 744
Записей в блоге: 1
16.10.2020, 17:43
Цитата Сообщение от Electroflower Посмотреть сообщение
Мне кажется из-за асинхронности js
код то исполняется внутри Promise.then()?
getAllPaths и getStationPolygon: возвращаемые Promise имеют в коде resolve() по окончанию запроса?
Нет ли у этих функций влияния на внешние переменные?
1
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
19.10.2020, 14:55  [ТС]
Цитата Сообщение от Ovederax Посмотреть сообщение
код то исполняется внутри Promise.then()?
Да, внутри
Цитата Сообщение от Ovederax Посмотреть сообщение
getAllPaths и getStationPolygon: возвращаемые Promise имеют в коде resolve() по окончанию запроса?
Да, имеют
Цитата Сообщение от Ovederax Посмотреть сообщение
Нет ли у этих функций влияния на внешние переменные?
Нет, они создают новые полигоны на карте.

Ovederax, а вы имели дело с leaflet? Сегодня я наверное иначе задам вопрос. Когда я рисую что-то в leafletjs(например полигоны или полилилнии), то leaflet фокусируется на последнем отрисованном элементе...Как этого избежать

Добавлено через 10 минут
Ovederax, знаю что у маркеров есть такая фигня как autoPan, по крайней мере была, не могу понять почему она у полилиний есть и у полигонов. ка ее убрать...

Добавлено через 2 часа 16 минут
Ovederax, может быть такое что он не на линиях фокусится а на popup-ах?
кс лову, popup-ы не вылезают у меня автоматом

Добавлено через 2 часа 53 минуты
Ovederax, все стало ясно. У меня везде при прорисовке новых элементов идет следующее:
JavaScript
1
map.fitBounds(polygon.getBounds());
то есть брались границы элемента отрисованного, передавались в fitBounds и он фокусировался...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2020, 14:55
Помогаю со студенческими работами здесь

Компьютер перезагружается при загрузке виндовс а также при загрузке с liveCD (на любом носителе)
При включении компьютера появляются варианты загрузки при выборе любого из них система перезагружается, вставляю ливСД (от зверя) (на...

Синий экран при загрузке W7 x64, при загрузке же XP x32 все гладко
Вообщем синий экран каждый раз при загрузке windows 7. Сразу после лого(в момент анимации. Она зависает и через 3 сек bsod). Комп...

Как при открытии формы установить курсор в центре?
У меня в программе, вместо курсора изображение. Как сделать так, чтобы это изображение появлялось в центре окна при открытии формы, а не в...

Как программно выставить текст в центре при печати в Excel?
подсткажите как указать текст по центру при выводе на печать в Exsel Добавлено через 29 минут With Selection ...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru