Замена стандартной метки на свою в Яндекс.Картах

217
11 апреля 2018, 08:28

Всем привет. Есть Карта, метки выставляются, но как заменить стандартные метки на свои? Если координаты меток берутся из json файла, а в самой документации выставляется метка на координаты, а не заменяется(

function init() {
    var myMap = new ymaps.Map('msk_map',{
        center: [55.7, 37.5],
        zoom: 9,
        controls: ['zoomControl']
    }),
    // Создаем коллекцию.
    myCollection = new ymaps.GeoObjectCollection();
    $.getJSON('js/data.json', function(data) {
        for (var i in data.departments) {
            myPoints = [{
                coords: 
                    [
                        data.departments[i].lat, data.departments[i].lon],
                text: data.departments[i].title
            }];              
            for (var i = 0, l = myPoints.length; i < l; i++) {
                var point = myPoints[i];
                console.log(point.coords)
                myCollection.add(new ymaps.Placemark(point.coords,{
                    iconLayout: "default#image",
                    iconImageHref: 'images/svg/officee/offices-citymap-POI.svg' ,
                    iconImageSize: [30, 38],
                    iconImageOffset: [-5, -38] ,
                    balloonContentBody: point.text
                }));
            }
            // Добавляем коллекцию меток на карту.
            myMap.geoObjects.add(myCollection);
        }

    });
};
Answer 1

Данную проблему решил так:

myCollection.add(new ymaps.Placemark(point.coords,{
    balloonContentBody: point.text
    },{
        iconImageHref: 'images/svg/officee/offices-citymap-POI.svg' ,
        iconImageSize: [30, 38],
        iconImageOffset: [-5, -38]
    }));
Answer 2

Посмотрите на эти два примера добавления данных из json-файла. В них реализованы два разных способа указать пресет метки:

  1. Загрузка данных с помощью JQuery - прямо в json-файле заданы опции, определяющие пресет меток. Это удобно, когда у объектов должны быть разные пресеты.
  2. Добавление данных в менеджер объектов - опции отображения меток указаны для всего objectManager и меняют пресет всех меток сразу.

В вашем примере кода, вы сначала добавляете метки с дефолтным пресетом, а потом с кастомным.

READ ALSO
Пропало меню в Open Cart3

Пропало меню в Open Cart3

На сайте было настроено меню (шаблон Volga): горизонтальное и вертикальное выпадающееВот так это выглядело:https://prnt

156
Как сделать скрипт для проверки, что включен Caps Lock и включена русская раскладка

Как сделать скрипт для проверки, что включен Caps Lock и включена русская раскладка

Нужен скрипт, который будет проверять инпут для ввода пароля и в случае, если человек пишет с включенным Caps Lock или на русской раскладке выводить...

176
HTML5 History API. Как добавить запись [дубликат]

HTML5 History API. Как добавить запись [дубликат]

На данный вопрос уже ответили:

178
Как получить значения ip адресов в массив - JavaScript

Как получить значения ip адресов в массив - JavaScript

Добрый день! Есть кодкоторый получает через webrtc ip адреса юзера и выводит значения в консоль

205