Чтобы вставить логотип в формате SVG в код конструктора карт 2ГИС и сделать его закрепленным на определенной точке карты при изменении масштаба и перетаскивании, вам нужно использовать несколько элементов HTML и JavaScript. Поскольку 2ГИС предоставляет API для работы с картами, вам необходимо создать элемент для логотипа и обработать его привязку к нужной координате.
Вот шаги и пример реализации:
1. **Загрузите логотип в формате SVG** на ваш сервер или используйте ссылку, если он доступен в интернете.
2. **Создайте HTML-страницу, куда вы интегрируете код 2ГИС**. В вашем HTML-коде добавьте DIV для вывода карты и используйте API для интеграции логотипа.
3. **Используйте JavaScript для отображения логотипа на карте**. Вам нужно будет конвертировать координаты для привязки логотипа и использовать возможности API для добавления кнопки на карту.
Пример кода:
```html
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Карта 2ГИС с логотипом</title>
<style>
#map {
width: 100%;
height: 500px;
}
.custom-logo {
position: absolute;
width: 100px; /* Укажите желаемую ширину логотипа */
pointer-events: none; /* Чтобы клики проходили через логотип */
}
</style>
</head>
<body>
<div id="map"></div>
<img src="path_to_your_logo.svg" class="custom-logo" id="logo" alt="Логотип" />
<script src="https://api.2gis.ru/v2.0/loader.js?pkg=full"></script>
<script>
// Инициализация карты
const map = DG.map('map', {
center: [55.7558, 37.6173], // Координаты центра карты (Москва)
zoom: 12
});
// Добавляем слой
DG.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
// Указываем координаты для логотипа
const logoCoordinates = [55.7558, 37.6173]; // Здесь укажите свои координаты
// Функция для конвертации координат в пиксели
function setLogoPosition() {
var point = map.latLngToContainerPoint(logoCoordinates);
var logo = document.getElementById('logo');
logo.style.left = point.x - (logo.offsetWidth / 2) + 'px';
logo.style.top = point.y - (logo.offsetHeight / 2) + 'px';
}
// Устанавливаем положение логотипа при инициализации карты
setLogoPosition();
// Обновляем позицию логотипа при изменении масштаба или перемещении карты
map.on('move', setLogoPosition);
map.on('zoom', setLogoPosition);
</script>
</body>
</html>
```
### Пояснения:
- **HTML**: Создается контейнер для карты и элемент для логотипа.
- **CSS**: Задается стиль для логотипа, чтобы он не мешал нажатиям в игре с картой.
- **JavaScript**: Используются функции API 2ГИС для создания карты, установки логотипа по координатам, а также его переопределения при изменении уровня масштабирования и перемещении карты.
Обязательно замените `path_to_your_logo.svg` на путь к вашему логотипу.