Как отображать элементы в зависимости от масштаба содержащего их блока?
Есть карта звездного неба, для которой я получаю по API координаты элементов - звезд, галактик и т.д. Затем я отображаю эти элементы на карте в формате Метка+Лейбл.
Проблема в том, что при большом масштабе карты и высокой плотности элементов лейблы некрасиво накладываются друг на друга.
Как скрыть часть элементов для крупного масштаба и отобразить для мелкого, наподобие как скрываются и отображаются объекты в яндексс и гугл картах? Пока думаю в сторону предварительного построения графа из элементов с последующим скрытием соседей.
Это называется "кластеризация". Типовая задача при работе с картами. Во многих библиотеках для отображения карт решение есть прямо из коробки. Тут не нужно ничего придумывать, можно воспользоваться готовыми алгоритмами.
Ну а пример, ссылку на репозиторий или статью про "типовую" задачу кластеризации, чтобы и правда ни чего не придумывать?
Кавычки излишни. Гуглим "название своей библиотеки для карт + cluster" и тыкаем первую ссылку - например Leaflet, Openlayers и.т.д. У всех хоть сколько-нибудь толковых карт это есть. В вопросе автор не уточнял, какие конкретно у него инструменты.
нет, захардкодить не вариант: сервис, который мы делаем - это по сути редактор фотографий звездного неба. пользователи будут грузить туда фотографии, а сервис их обрабатывает и определяет небесные объекты, возвращая данные на клиент. положение объектов в каждом случае будет разным