Пытаюсь сделать отображение на карте точечных меток как с в виде islands#blueDotIconWithCaption, так и с пользовательским изображением для метки. В результате корректно отображаются только метки с пользовательским изображением. Метка islands#blueDotIconWithCaption отображается значительно бОльшей по размеру и без подписи.
Данные хранятся в виде массива объектов. Поля объекта:
- name - наименование объекта,
- coords - координаты метки,
- description - описание (выводится в baloon'е),
- image - ссылка на картинку (выводится в baloon'е),
- iconimage - ссылка на пользовательское изображение для метки.
Код функции, выводящей метки на карту:
function addPlacemarks(map, geoobjects) { for (var i = 0; i < geoobjects.length; i++) { var geoobject = geoobjects[i]; var balloonContent = "<p>" + getCameraLinkForBalloon(geoobject, i) + "</p>"; if (geoobject.image) { balloonContent = balloonContent + "<p><img src='" + geoobject.image + "' class='balloon-img'/></p>"; } if (geoobject.description) { balloonContent = balloonContent + geoobject.description; } if (geoobject.iconimage === undefined || geoobject.iconimage === "") { var placemarkProperties = { iconContent: geoobject.name, iconCaption: geoobject.name, balloonContentHeader: geoobject.name, balloonContent: balloonContent, }; var placemarkOptions = { preset: "islands#blueDotIconWithCaption", iconImageSize: [5, 5], }; /**/ } { var placemarkProperties = { hintContent: geoobject.name, balloonContentHeader: geoobject.name, balloonContent: balloonContent, }; var placemarkOptions = { iconLayout: 'default#imageWithContent', iconImageHref: geoobject.iconimage, iconImageSize: [80, 80], iconImageOffset: [-40, -40], }; } var placemark = new ymaps.Placemark(geoobject.coords, placemarkProperties, placemarkOptions); map.geoObjects.add(placemark); } }
Прошу разъяснить, как корректно реализовать отображение как стандартных меток, так и пользовательских.