Как добавить метку с собственным изображением yandex map api 3?

Ссылка скопирована
19 января 2026 1 ответ

Как добавить метку с собственным изображением yandex map api 3? Какую информацию нужно передать в source

initMap();  async function initMap() {     // Промис `ymaps3.ready` будет зарезолвлен, когда загрузятся все компоненты основного модуля API     await ymaps3.ready;      const {YMap, YMapDefaultSchemeLayer, YMapMarker, YMapDefaultFeaturesLayer} = ymaps3;      // Иницилиазируем карту     const map = new YMap(         // Передаём ссылку на HTMLElement контейнера         document.getElementById('map'),          // Передаём параметры инициализации карты         {             location: {                 // Координаты центра карты                 center: [37.588144, 55.733842],                  // Уровень масштабирования                 zoom: 10             }         }     );      // Добавляем слой для отображения схематической карты     map.addChild(new YMapDefaultSchemeLayer());     map.addChild(new YMapDefaultFeaturesLayer())      const markerElement = document.createElement('div');     markerElement.className = 'marker-class';     markerElement.innerText = "I'm marker!";      const marker = new YMapMarker(     {         source: 'https://yastatic.net/s3/front-maps-static/maps-front-jsapi-3/examples/images/marker-custom-icon/yellow-capybara.png',         coordinates: [37.588144, 55.733842],         draggable: true,         mapFollowsOnDrag: true     },     markerElement     );      map.addChild(marker);  }

initMap(); async function initMap() { // Промис `ymaps3.ready` будет зарезолвлен, когда загрузятся все компоненты основного модуля API await ymaps3.ready; const {YMap, YMapDefaultSchemeLayer, YMapMarker, YMapDefaultFeaturesLayer} = ymaps3; // Иницилиазируем карту const map = new YMap( // Передаём ссылку на HTMLElement контейнера document.getElementById('map'), // Передаём параметры инициализации карты { location: { // Координаты центра карты center: [37.588144, 55.733842], // Уровень масштабирования zoom: 10 } } ); // Добавляем слой для отображения схематической карты map.addChild(new YMapDefaultSchemeLayer()); map.addChild(new YMapDefaultFeaturesLayer()) const markerElement = document.createElement('div'); markerElement.className = 'marker-class'; markerElement.innerText = "I'm marker!"; const marker = new YMapMarker( { source: 'https://yastatic.net/s3/front-maps-static/maps-front-jsapi-3/examples/images/marker-custom-icon/yellow-capybara.png', coordinates: [37.588144, 55.733842], draggable: true, mapFollowsOnDrag: true }, markerElement ); map.addChild(marker); }

В консоли ошибка Uncaught (in promise) Error: The DataSource with id='https://yastatic.net/s3/front-maps-static/maps-fro...' was not found. Maybe you forgot to add it.

Дополнительно:

Ответы:

Странно, что вы нашли бобра, но не смогли воспроизвести пример, где видно, что никакой source не заполняется, а иконка это часть html, который маркером и показывается.

А тот source, насколько я понимаю, нужен для указание источника фич для маркеров.

Здравствуйте! Я из Яндекса. Добавить своё изображение на метку можно с помощью markerProps. В нашей Справке вы можете посмотреть пример этого: https://yandex.ru/dev/jsapi30/doc/ru/examples/case...

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Мария Код Ответ

Для добавления метки с собственным изображением на карту с помощью Yandex Map API 3, вам потребуется использовать JavaScript код. Вот пример того, как можно это сделать:

1. Сначала необходимо создать карту:

```html

```

```javascript
ymaps.ready(init);

function init() {
var myMap = new ymaps.Map("map", {
center: [55.76, 37.64],
zoom: 10
});
}
```

2. Затем создайте собственное изображение для метки:

```html

```

3. Далее добавьте метку на карту с вашим собственным изображением:

```javascript
ymaps.ready(init);

function init() {
var myMap = new ymaps.Map("map", {
center: [55.76, 37.64],
zoom: 10
});

var customIcon = document.getElementById('customIcon').getAttribute('src');

var myPlacemark = new ymaps.Placemark([55.76, 37.64], {
hintContent: 'Метка с собственным изображением'
}, {
iconLayout: 'default#image',
iconImageHref: customIcon,
iconImageSize: [30, 30],
iconImageOffset: [-15, -15]
});

myMap.geoObjects.add(myPlacemark);
}
```

4. Не забудьте подключить Yandex Map API и jQuery (если используете) в вашем HTML файле:

```html

```

Теперь у вас должна отображаться карта с меткой, на которой используется ваше собственное изображение. Не забудьте заменить `path/to/your/image.png` на путь к вашему изображению и `ваш_ключ_api` на ваш API ключ от Yandex Map API.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно