menu close תפריט

שפה

התאמה של נכס חדש

פרויקטים חדשים במרכז

307 מודעות

סינון

קבלן

העיר

קרבה לים

מעל 7 קומות

עד 7 קומות

mse2_filter_tv_objcityplace

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

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

+972 54-558-7797

פינסק 4
פינסק 4

פתח תקוה

DRL Nadlan

מדורגי נס ציונה
מדורגי נס ציונה

נס ציונה

צרפתי שמעון

גולומב
גולומב
גולומב
גולומב
גולומב

כפר סבא

בינוי ודיור

שכונת הפארק
שכונת הפארק
שכונת הפארק
שכונת הפארק
שכונת הפארק

כפר סבא

בינוי ודיור

נווה אביב – נרקיסים
נווה אביב – נרקיסים
נווה אביב – נרקיסים
נווה אביב – נרקיסים

ראשון לציון

מרדכי אביב

קדמת ראשון
קדמת ראשון
קדמת ראשון
קדמת ראשון
קדמת ראשון
קדמת ראשון
קדמת ראשון

ראשון לציון

מנרב

פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל
פרויקט concept בשכונת הנוריות בראשל"צ

ראשון לציון

קבוצת אורון

פייבוריט באר יעקב
פייבוריט באר יעקב
פייבוריט באר יעקב
פייבוריט באר יעקב
פייבוריט באר יעקב
פייבוריט באר יעקב
פייבוריט באר יעקב

באר יעקב

ארזי הנגב בע"מ

אביסרור בבאר יעקב
אביסרור בבאר יעקב
אביסרור בבאר יעקב
אביסרור בבאר יעקב
אביסרור בבאר יעקב
אביסרור בבאר יעקב
אביסרור בבאר יעקב
אביסרור בבאר יעקב
אביסרור בבאר יעקב
אביסרור בבאר יעקב
אביסרור בבאר יעקב

באר יעקב

אביסרור משה ובניו

צפריר וזוהר שרבט בבאר יעקב
צפריר וזוהר שרבט בבאר יעקב

רמלה

צפריר וזוהר שרבט

רובע האקליפטוס
רובע האקליפטוס
רובע האקליפטוס
רובע האקליפטוס
רובע האקליפטוס

באר יעקב

גיא & דורון לוי הנדסה בנייה והשקעות בע"מ

הרצוג 16
הרצוג 16
הרצוג 16

רעננה

Porat Group

קפלן 47 ו-51
קפלן 47 ו-51
קפלן 47 ו-51
קפלן 47 ו-51
קפלן 47 ו-51

פתח תקוה

Porat Group

דגל ראובן 60-64
דגל ראובן 60-64
דגל ראובן 60-64
דגל ראובן 60-64

פתח תקוה

Porat Group

גאולה 10
גאולה 10
גאולה 10

רעננה

Porat Group

ח
ח"ן 5-7

פתח תקוה

Porat Group

שפינוזה 4
שפינוזה 4

פתח תקוה

Porat Group

קטרוני 50
קטרוני 50

פתח תקוה

Porat Group

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(); -->