Имеется яндекс карта, на которую выводятся полигоны, которые генерируются из свойств инфоблока. Вот код получения свойств:
Все отлично работает, далее эти полигоны планируется находить в поиске, но поиск не хочет работать потому что на карту вместе со всеми полигонами добавляется еще один пустой, вот пример кода который получает страница в браузере:
Опытным путем я выяснил что именно из-за последнего куска (который без координат) ничего и не работает. Вопрос, как сделать так что бы он не генерировался? Или может быть можно как ни будь после генерации его удалять?
Если кратко, то нужно избавиться вот от этого куска:
Код |
---|
myObjects = ymaps.geoQuery({ type: "FeatureCollection", features: [ <?foreach ($arResult as $item) { if (!empty($item["PREVIEW_PICTURE"])) { ?> <? if($counter_i == count($arResult)) { echo ";"; } else { echo ","; $counter_i++;} ?> <? } else { //Цвет заливки if(!empty($item['PROPERTY_COLORIMGPLACE_VALUE'])) { $iconColor = $item['PROPERTY_COLORIMGPLACE_VALUE']; } else { $iconColor = '65dbc653'; //Если цвет не задан, то будет этот. } //Цвет обводки if(!empty($item['PROPERTY_COLORSTROKE_VALUE'])) { $strokeColor = $item['PROPERTY_COLORSTROKE_VALUE']; } else { $strokeColor = '1102b8e2'; //Если цвет не задан, то будет этот. } $body = ' '; ?> { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[<?=$item['PROPERTY_MESTO_VALUE']?>]] }, options: { fillColor: '<?=$iconColor?>', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: '<?=$strokeColor?>', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "<?=$item['PROPERTY_RAION_VALUE']?>", // Кластер объекта filtColor: "<?=strtolower(FormatDate("Y", MakeTimeStamp($item['PROPERTY_DATE_CREATE_VALUE'])))?>" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка<?=$item['ID']?>"><?=$item['NAME']?></a>', // Заголовок balloonContent: '<b>Председатель: </b>' + '<?=$item['PROPERTY_BALOON_VALUE']?><br/>' + '<b>Адрес: </b>' + '<?=$item['PROPERTY_ADRESS_VALUE']?><br/>' + '<b>Район: </b>' + '<?=$item['PROPERTY_RAION_VALUE']?><br/>' + '<b>Дата создания: </b>' + '<?=strtolower(FormatDate("d F Y", MakeTimeStamp($item['PROPERTY_DATE_CREATE_VALUE'])))?><br/>' + '<b>Реализованные проекты: </b>' + '<?=$item['PROPERTY_PROJECTS_VALUE']?><br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '<?=$item['PROPERTY_CONTACTS_VALUE']?>', // Футер hintContent: "<?=$item['NAME']?>" // Подсказка объекта } }<? if($counter_i == count($arResult)) { echo ";"; } else { echo ","; $counter_i++;} ?> <? } //endif?> <? } //endforeach?> ] }).addToMap(myMap); |
Все отлично работает, далее эти полигоны планируется находить в поиске, но поиск не хочет работать потому что на карту вместе со всеми полигонами добавляется еще один пустой, вот пример кода который получает страница в браузере:
Код |
---|
myObjects = ymaps.geoQuery({ type: "FeatureCollection", features: [ { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[ [ 48.4872099152, 135.044750889 ], [ 48.4865858624, 135.045233687 ], [ 48.4863005786, 135.044150075 ], [ 48.4869567290, 135.043726286 ], [ 48.4872099152, 135.044750889 ] ]] }, options: { fillColor: '00bfbf', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Кировский", // Кластер объекта filtColor: "2020" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка106497">ТОС "Виктория"</a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Савинов Е.А.<br/>' + '<b>Адрес: </b>' + 'ул. Казачья гора, дом 9-7<br/>' + '<b>Район: </b>' + 'Кировский<br/>' + '<b>Дата создания: </b>' + '10 февраля 2020<br/>' + '<b>Реализованные проекты: </b>' + 'НОВЫЙ ДВОР 2021<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '409144', // Футер hintContent: "ТОС "Виктория"" // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[ [ 48.5213356048, 135.106362622 ], [ 48.5206620838, 135.107070725 ], [ 48.5214817114, 135.108052414 ], [ 48.5216670166, 135.107526701 ], [ 48.5215850548, 135.106754225 ], [ 48.5214638935, 135.106566470 ], [ 48.5213356048, 135.106362622 ]]] }, options: { fillColor: '00bf00', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Железнодорожный", // Кластер объекта filtColor: "2020" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка106500">ТОС "Максимум Света"</a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Сергеев М.С.<br/>' + '<b>Адрес: </b>' + 'пер. Краснодарский, дом 19а<br/>' + '<b>Район: </b>' + 'Железнодорожный<br/>' + '<b>Дата создания: </b>' + '11 февраля 2020<br/>' + '<b>Реализованные проекты: </b>' + 'Спортивная площадка<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '+7 (4212) 40-91-42', // Футер hintContent: "ТОС "Максимум Света"" // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[[ 48.3801777433, 135.108678818 ], [ 48.3804457595, 135.110095024 ], [ 48.3811032865, 135.109762430 ], [ 48.3810961395, 135.109537125 ], [ 48.3814213263, 135.109322548 ], [ 48.3813498569, 135.108689547 ], [ 48.3809531995, 135.108796835 ], [ 48.3808710089, 135.108346224 ], [ 48.3807459359, 135.108399868 ], [ 48.3807066272, 135.108410597 ], [ 48.3801777433, 135.108678818 ]]] }, options: { fillColor: '005fbf', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Индустриальный", // Кластер объекта filtColor: "2020" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка124450">ТОС "Ворошилова 5 А" </a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Деньгуб Е.А.<br/>' + '<b>Адрес: </b>' + 'ул. Ворошилова 5 А<br/>' + '<b>Район: </b>' + 'Индустриальный<br/>' + '<b>Дата создания: </b>' + '14 мая 2020<br/>' + '<b>Реализованные проекты: </b>' + '« Безопасный подъездной путь к дому»<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '123123', // Футер hintContent: "ТОС "Ворошилова 5 А" " // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[[ 48.5574228573, 135.117622891 ], [ 48.5576899335, 135.117274204 ], [ 48.5582490083, 135.118449011 ], [ 48.5579071544, 135.118792334 ], [ 48.5573908081, 135.117853561 ], [ 48.5573623198, 135.117724815 ], [ 48.5574228573, 135.117622891 ]]] }, options: { fillColor: 'ffff00', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Краснофлотский", // Кластер объекта filtColor: "2020" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка124452">ТОС "МИР"</a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Ковшикова Н.Ю.<br/>' + '<b>Адрес: </b>' + 'квартал Мира, д. 2<br/>' + '<b>Район: </b>' + 'Краснофлотский<br/>' + '<b>Дата создания: </b>' + '25 ноября 2020<br/>' + '<b>Реализованные проекты: </b>' + 'Система видеонаблюдения «Безопасный двор»<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '123123', // Футер hintContent: "ТОС "МИР"" // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[[ 48.4802122197, 135.105860392 ], [ 48.4812215259, 135.105554620 ], [ 48.4805831332, 135.103880922 ], [ 48.4797949388, 135.104594389 ], [ 48.4802122197, 135.105860392 ]]] }, options: { fillColor: '5f00bf', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Центральный", // Кластер объекта filtColor: "2021" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка124456">ТОС «Шатурский</a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Попова О.П.<br/>' + '<b>Адрес: </b>' + 'пер. Шатурский, д. 1, 1 а, 3<br/>' + '<b>Район: </b>' + 'Центральный<br/>' + '<b>Дата создания: </b>' + '21 января 2021<br/>' + '<b>Реализованные проекты: </b>' + '«Обустройство контейнерной площадки для накопления твердых коммунальных отходов»<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '123123', // Футер hintContent: "ТОС «Шатурский" // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[[ 48.4353147758, 135.102560428 ], [ 48.4363107020, 135.102420953 ], [ 48.4363249804, 135.103198794 ], [ 48.4363392587, 135.104137567 ], [ 48.4358430832, 135.104148296 ], [ 48.4358502224, 135.103520659 ], [ 48.4353147758, 135.103504565 ], [ 48.4353147758, 135.102560428 ]]] }, options: { fillColor: '005fbf', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Индустриальный", // Кластер объекта filtColor: "2020" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка124458">ТОС "Сысоева"</a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Данилова Ю. Э.<br/>' + '<b>Адрес: </b>' + 'ул. Сысоева, д. 12<br/>' + '<b>Район: </b>' + 'Индустриальный<br/>' + '<b>Дата создания: </b>' + '29 декабря 2020<br/>' + '<b>Реализованные проекты: </b>' + '«Модернизация хоккейной коробки» <br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '123123', // Футер hintContent: "ТОС "Сысоева"" // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[[ 48.4854159780, 135.051349295 ], [ 48.4858011176, 135.051917923 ], [ 48.4856834364, 135.052009118 ], [ 48.4855479243, 135.051832092 ], [ 48.4853838829, 135.052030576 ], [ 48.4854623376, 135.052116407 ], [ 48.4852448039, 135.052400721 ], [ 48.4851556505, 135.052293432 ], [ 48.4850914600, 135.051832092 ], [ 48.4854159780, 135.051349295 ] ]] }, options: { fillColor: '5fbf00', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Кировский", // Кластер объекта filtColor: "2020" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка124466">ТОС "Запарина, 137А"</a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Кочева Т.В.<br/>' + '<b>Адрес: </b>' + 'ул. Запарина, д. 137А<br/>' + '<b>Район: </b>' + 'Кировский<br/>' + '<b>Дата создания: </b>' + '10 ноября 2020<br/>' + '<b>Реализованные проекты: </b>' + 'Спортивная площадка «Здоровячек<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '123123', // Футер hintContent: "ТОС "Запарина, 137А"" // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[[ 48.4927136931, 135.042492518 ], [ 48.4924819282, 135.042653451 ], [ 48.4928206611, 135.043619046 ], [ 48.4931308671, 135.043442020 ], [ 48.4927564803, 135.042438874 ], [ 48.4927136931, 135.042492518 ]]] }, options: { fillColor: '00bfbf', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Кировский", // Кластер объекта filtColor: "2020" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка124468">ТОС "Орджоникидзе 4А"</a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Власова С.А.<br/>' + '<b>Адрес: </b>' + 'ул.Орджоникидзе 4А<br/>' + '<b>Район: </b>' + 'Кировский<br/>' + '<b>Дата создания: </b>' + '11 декабря 2020<br/>' + '<b>Реализованные проекты: </b>' + '«Благоустройство дворовой территории «Уютный двор»<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '123123', // Футер hintContent: "ТОС "Орджоникидзе 4А"" // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[[ 48.4352791281, 135.102756100 ], [ 48.4352898371, 135.103469567 ], [ 48.4347686634, 135.103485661 ], [ 48.4347543846, 135.104150848 ], [ 48.4342367750, 135.104172306 ], [ 48.4343581460, 135.102777557 ], [ 48.4352791281, 135.102756100 ]]] }, options: { fillColor: '005fbf', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Индустриальный", // Кластер объекта filtColor: "2020" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка124472">ТОС "Сысоева 8"</a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Рябухина А. В.<br/>' + '<b>Адрес: </b>' + 'ул. Сысоева, д. 8<br/>' + '<b>Район: </b>' + 'Индустриальный<br/>' + '<b>Дата создания: </b>' + '29 декабря 2020<br/>' + '<b>Реализованные проекты: </b>' + '«Установка системы видеонаблюдения, установка велосипедных парковок, ремонт тротуаров»<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '123123', // Футер hintContent: "ТОС "Сысоева 8"" // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[[ 48.4937196894, 135.065091579 ], [ 48.4933381758, 135.067017405 ], [ 48.4935521090, 135.067049592 ], [ 48.4939835382, 135.065241783 ], [ 48.4937196894, 135.065091579 ]]] }, options: { fillColor: '00bfbf', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: 'ff007f', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "Кировский", // Кластер объекта filtColor: "2020" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка124477">ТОС "Некрасова, 55"</a>', // Заголовок balloonContent: '<b>Председатель: </b>' + 'Степнцова С.А.<br/>' + '<b>Адрес: </b>' + 'ул. Некрасова, д. 55<br/>' + '<b>Район: </b>' + 'Кировский<br/>' + '<b>Дата создания: </b>' + '18 декабря 2020<br/>' + '<b>Реализованные проекты: </b>' + 'Благоустроенный и безопасный двор<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '123123', // Футер hintContent: "ТОС "Некрасова, 55"" // Подсказка объекта } }, { type: 'Feature', geometry: { type: 'Polygon', coordinates: [[]] }, options: { fillColor: '65dbc653', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: '1102b8e2', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "", // Кластер объекта filtColor: "2022" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка"></a>', // Заголовок balloonContent: '<b>Председатель: </b>' + '<br/>' + '<b>Адрес: </b>' + '<br/>' + '<b>Район: </b>' + '<br/>' + '<b>Дата создания: </b>' + '06 мая 2022<br/>' + '<b>Реализованные проекты: </b>' + '<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '', // Футер hintContent: "" // Подсказка объекта } }, ] }).addToMap(myMap); |
Опытным путем я выяснил что именно из-за последнего куска (который без координат) ничего и не работает. Вопрос, как сделать так что бы он не генерировался? Или может быть можно как ни будь после генерации его удалять?
Если кратко, то нужно избавиться вот от этого куска:
Код |
---|
{ type: 'Feature', geometry: { type: 'Polygon', coordinates: [[]] }, options: { fillColor: '65dbc653', // Цвет заливки fillOpacity: 0.45, // Прозрачность заливки strokeColor: '1102b8e2', // Цвет обводки strokeWidth: 2, // Толщина обводки strokeOpacity: 0.5, // Прозрачность обводки fildColor: "", // Кластер объекта filtColor: "2022" // Год объекта }, // Содержимое балуна properties: { balloonContentHeader: '<a href="ссылка"></a>', // Заголовок balloonContent: '<b>Председатель: </b>' + '<br/>' + '<b>Адрес: </b>' + '<br/>' + '<b>Район: </b>' + '<br/>' + '<b>Дата создания: </b>' + '06 мая 2022<br/>' + '<b>Реализованные проекты: </b>' + '<br/>', // Содержимое balloonContentFooter: 'Телефон: </b>' + '', // Футер hintContent: "" // Подсказка объекта } }, |