menu close תפריט
התאמה של נכס חדש

פרויקטים חדשים בהוד השרון

23 מודעות

סינון

קבלן

העיר

מעל 7 קומות

עד 7 קומות

סינון
bg על המפה

תורגמן מאיר ובניו בע"מ

+972 54-558-7797

רובע המייסדים
רובע המייסדים
רובע המייסדים
רובע המייסדים
רובע המייסדים
רובע המייסדים

הוד השרון

קבוצת גבאי

הבנים 4/6
הבנים 4/6
הבנים 4/6

הוד השרון

קבוצת גבאי

השחר 19
השחר 19

הוד השרון

קבוצת גבאי

1010
1010
1010

הוד השרון

עץ השקד

יסוד המעלה 11
יסוד המעלה 11
יסוד המעלה 11

הוד השרון

בן שלום יזמות ובנייה

המגדלים בישורון
המגדלים בישורון
המגדלים בישורון
המגדלים בישורון
המגדלים בישורון
המגדלים בישורון
המגדלים בישורון
המגדלים בישורון

הוד השרון

קרסו נדל"ן בע"מ

Kata Up
Kata Up
Kata Up

הוד השרון

קטה גרופ

no-image
גינדי כרמי הנדיב

הוד השרון

משווק - גינדי החזקות

WESTHOD
WESTHOD
WESTHOD
WESTHOD
WESTHOD
WESTHOD
WESTHOD
WESTHOD
WESTHOD
WESTHOD
WESTHOD

הוד השרון

משווק - גינדי החזקות

WESTHOD 2
WESTHOD 2
WESTHOD 2
WESTHOD 2
WESTHOD 2
WESTHOD 2
WESTHOD 2
WESTHOD 2
WESTHOD 2
WESTHOD 2
WESTHOD 2

הוד השרון

משווק - גינדי החזקות

החקלאי 3
החקלאי 3

הוד השרון

קידר מבנים

no-image
מתחם סאלד

הוד השרון

Aura

SOKOLOV
SOKOLOV
SOKOLOV
SOKOLOV
SOKOLOV
SOKOLOV

הוד השרון

צבי ובניו

הוד השרון שעוד לא הכרתם
הוד השרון שעוד לא הכרתם

הוד השרון

מטרופוליס

הוד השרון DREAMS
הוד השרון DREAMS
הוד השרון DREAMS
הוד השרון DREAMS
הוד השרון DREAMS
הוד השרון DREAMS
הוד השרון DREAMS
הוד השרון DREAMS
הוד השרון DREAMS

הוד השרון

שיכון ובינוי נדל"ן

Hi Park
Hi Park

הוד השרון

קבוצת תדהר

no-image
כנרת 17

הוד השרון

ינוב בניה ופיתוח בע"מ

no-image
כנרת 15

הוד השרון

ינוב בניה ופיתוח בע"מ

bg על המפה

על המפה

אנשי מקצוע

יועצי משכנתאות
מתווכים
עריכת דין
להצטרף כמומחה נדל"ן
] }; /** * Assign a unique id to each store. You'll use this `id` * later to associate each point on the map with a listing * in the sidebar. */ stores.features.forEach((store, i) => { store.properties.id = i; }); map.on('load', () => { map.addSource('places', { 'type': 'geojson', 'data': stores }); addMarkers(); }); function addMarkers() { for (const marker of stores.features) { const el = document.createElement('div'); el.id = `marker-${marker.properties.id}`; el.className = 'marker'; // Добавляем условие проверки postalCode if (marker.properties.postalCode === 'Park') { el.classList.add('Park-marker'); // Добавляем класс к маркеру } else if (marker.properties.postalCode === 'Shop') { el.classList.add('Shop-marker'); // Добавляем класс к маркеру } else if (marker.properties.postalCode === 'BusStop') { el.classList.add('BusStop-marker'); // Добавляем класс к маркеру } else if (marker.properties.postalCode === 'School') { el.classList.add('School-marker'); // Добавляем класс к маркеру } else if (marker.properties.postalCode === 'KinderGarten') { el.classList.add('KinderGarten-marker'); // Добавляем класс к маркеру } else if (marker.properties.postalCode === 'Sea') { el.classList.add('Sea-marker'); // Добавляем класс к маркеру } else { } new mapboxgl.Marker(el, { offset: [0, -23] }) .setLngLat(marker.geometry.coordinates) .addTo(map); el.addEventListener('click', (e) => { flyToStore(marker); createPopUp(marker); const activeItem = document.getElementsByClassName('active'); e.stopPropagation(); if (activeItem[0]) { activeItem[0].classList.remove('active'); } const listing = document.getElementById( `listing-${marker.properties.id}` ); listing.classList.add('active'); }); } } // Создайте переменную для хранения текущих видимых кодов postalCode let visiblePostalCodes = ['NO']; // Добавьте слушатели событий клика на кнопки фильтрации // Функция для переключения видимости маркеров с заданным postalCode function togglePostalCode(postalCode) { if (visiblePostalCodes.includes(postalCode)) { // Если postalCode уже видим, удаляем его из списка видимых visiblePostalCodes = visiblePostalCodes.filter(code => code !== postalCode); } else { // Иначе, добавляем его в список видимых visiblePostalCodes.push(postalCode); } // Вызываем функцию для обновления маркеров на карте updateMarkers(); } // Функция для обновления маркеров на карте в соответствии с текущими фильтрами function updateMarkers() { // Удаляем все маркеры с карты const markers = document.getElementsByClassName('marker'); while (markers.length > 0) { markers[0].remove(); } // Добавляем маркеры в соответствии с текущими фильтрами for (const marker of stores.features) { const el = document.createElement('div'); el.id = `marker-${marker.properties.id}`; el.className = 'marker'; // Всегда показывать маркеры с postalCode "NO" if (marker.properties.postalCode === 'NO') { visiblePostalCodes.push('NO'); } if (visiblePostalCodes.includes(marker.properties.postalCode)) { // Если postalCode маркера находится в списке видимых, добавляем его классы if (marker.properties.postalCode === 'Park') { el.classList.add('Park-marker'); } else if (marker.properties.postalCode === 'Shop') { el.classList.add('Shop-marker'); } else if (marker.properties.postalCode === 'BusStop') { el.classList.add('BusStop-marker'); } else if (marker.properties.postalCode === 'School') { el.classList.add('School-marker'); } else if (marker.properties.postalCode === 'KinderGarten') { el.classList.add('KinderGarten-marker'); } else if (marker.properties.postalCode === 'Sea') { el.classList.add('Sea-marker'); } // Остальной код добавления маркеров остается без изменений new mapboxgl.Marker(el, { offset: [0, -23] }) .setLngLat(marker.geometry.coordinates) .addTo(map); el.addEventListener('click', (e) => { flyToStore(marker); createPopUp(marker); const activeItem = document.getElementsByClassName('active'); e.stopPropagation(); if (activeItem[0]) { activeItem[0].classList.remove('active'); } const listing = document.getElementById( `listing-${marker.properties.id}` ); listing.classList.add('active'); }); } } // Добавить/удалить класс у кнопок в зависимости от выбранных фильтров const showParkButton = document.getElementById('showParkButton'); const showShopButton = document.getElementById('showShopButton'); const showBusStopButton = document.getElementById('showBusStopButton'); const showSchoolButton = document.getElementById('showSchoolButton'); const showKinderGartenButton = document.getElementById('showKinderGartenButton'); const showSeaButton = document.getElementById('showSeaButton'); } // ... function flyToStore(currentFeature) { map.flyTo({ center: currentFeature.geometry.coordinates }); } // Создайте переменную для хранения текущего активного попапа let activePopup = null; map.on('click', (e) => { const popups = document.getElementsByClassName('mapboxgl-popup'); if (popups.length > 0) { // Проверяем, есть ли открытые попапы for (const popup of popups) { const isClickInsidePopup = popup.contains(e.originalEvent.target); if (!isClickInsidePopup) { // Закрываем попап, если клик был снаружи попапа popup.remove(); } } } }); // Добавляем слушатель события click к элементу document document.addEventListener('click', (e) => { const popups = document.getElementsByClassName('mapboxgl-popup'); if (popups.length > 0) { // Проверяем, есть ли открытые попапы for (const popup of popups) { const isClickInsidePopup = popup.contains(e.target); if (!isClickInsidePopup) { // Закрываем попап, если клик был снаружи попапа popup.remove(); } } } }); function createPopUp(currentFeature) { const popUps = document.getElementsByClassName('mapboxgl-popup'); for (const popup of popUps) { popup.remove(); // Закрыть все открытые попапы } // Проверьте значение postalCode if (currentFeature.properties.postalCode === 'NO') { // Если postalCode равен 'NO', используйте другой HTML для попапа const popup = new mapboxgl.Popup({ closeOnClick: false }) .setLngLat(currentFeature.geometry.coordinates) .setHTML( `
${currentFeature.properties.address}

${currentFeature.properties.city}

` ) .addTo(map); } else { // Иначе используйте первоначальный HTML для попапа const popup = new mapboxgl.Popup({ closeOnClick: false }) .setLngLat(currentFeature.geometry.coordinates) .setHTML( `
` ) .addTo(map); } } map.addControl(new mapboxgl.NavigationControl()); map.scrollZoom.disable();