Для создания очень интерактивной 2D карты, включающей функции открытия информации о зданиях по клику, взаимодействия с базой данных, оставления отзывов и подсветки выбранных зданий для пользователя при авторизации, можно использовать следующие шаги:
1. Используйте Leaflet или OpenLayers для отображения карты на веб-странице. Оба этих инструмента предоставляют широкий спектр возможностей для создания интерактивных 2D карт.
2. Для описания объектов и связанных с ними данных можно использовать базу данных, например, PostgreSQL с расширением PostGIS для работы с геоданными.
3. Разработайте серверную часть приложения на любом серверном языке программирования, таком как Python (с использованием фреймворка Django, Flask), Node.js, PHP и т. д. Этот компонент приложения будет выполнять запросы к базе данных для получения информации о зданиях и их свойствах, а также для сохранения отзывов пользователей.
4. Для реализации функции авторизации пользователей и подсветки выбранных зданий вам понадобится фронтенд-разработчик, специализирующийся на JavaScript (React, Vue.js, Angular) и CSS.
5. По мере разработки убедитесь, что учитываете ограничения в серверных мощностях, такие как объем и сложность данных, частота запросов и т. д. Масштабируйте вашу архитектуру в соответствии с возрастающей нагрузкой.
Альтернативой использованию Leaflet и OpenStreetMap может быть использование Google Maps API или Mapbox API, хотя вам может потребоваться оплатить их услуги. Тем не менее, они также предоставляют широкий набор инструментов для создания интерактивных карт.
Для разработки подобных карт подойдут специалисты в области front-end и back-end разработки, способные работать с геоданными и интеграцией с картографическими API. Также может потребоваться специалист по базам данных и программист, занимающийся оптимизацией работы с большим объемом данных.