Клуб API Карт

Опять геокодер

Пост в архиве.
Здравствуйте. Задача состоит в том, чтобы сделать вывод метки на яндекс карте в детальном просмотре элемента каталога, адрес метки хранится в свойствах элемента. стандартно в битриксе реализован вывод яндекс карты с меткой организацией, заданной в ручную в свойствах элемента. Фирм много, есть свойства фирмы ('CITY'-город, 'STREET'-улица, 'DOM'-номер дома). вывод этих свойств на страницу с детельным просмотром осуществляется след образом(файл template.php в catalog.element):


<div class="p-item-c">
<?echo $arResult["DISPLAY_PROPERTIES"]['CITY']["DISPLAY_VALUE"]?></div>
<div class="p-item-s">
<?echo $arResult["DISPLAY_PROPERTIES"]['STREET']["DISPLAY_VALUE"]?> №<?echo $arResult["DISPLAY_PROPERTIES"]['DOM']["DISPLAY_VALUE"]?></div>
<div id="YMapsID" style="width:600px;height:400px"></div>(вывод яндекс карты)

Описание яндекс карты в файле header.php:

// Создание обработчика для события window.onLoad
YMaps.jQuery(function () {
// Создание экземпляра карты и его привязка к созданному контейнеру
var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
// Создание объекта геокодера
var geocoder = new YMaps.Geocoder("Москва");
// По завершению геокодирования инициализируем карту первым результатом
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
if (geocoder.length()) {
map.setBounds(geocoder.get(0).getBounds());
}
});
});

Вопрос: каким образом настроить связь между var geocoder = new YMaps.Geocoder("Москва"); и <?echo $arResult["DISPLAY_PROPERTIES"]['CITY']["DISPLAY_VALUE"]?>, т е чтобы обработчик понимал, что адрес хранится в свойстве CITY?

5 комментариев
Sergey Konstantinov
28 января 2016, 07:18
Попробуйте так:
var geocoder = new YMaps.Geocoder("Москва");
замените на:
var geocoder = new YMaps.Geocoder(initAddress);

А в template.php вставьте вот такой код:
Спасибо.
Показывает, а как можно сделать, чтобы показывалась !метка! этого адреса на карте?
Sergey Konstantinov
28 января 2016, 07:18
Добавьте перед map.setBounds(...) строку

map.addOverlay(geocoder.get(0));
а как изменить то, что выводится в метке геокодера?