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

פרויקטים חדשים בירושלים

52 מודעות

סינון

קבלן

העיר

מעל 7 קומות

עד 7 קומות

תמ"א 38

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

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

+972 54-558-7797

ארנונה הילס
ארנונה הילס
ארנונה הילס
ארנונה הילס
ארנונה הילס
ארנונה הילס
ארנונה הילס
ארנונה הילס
ארנונה הילס
ארנונה הילס

ירושלים

גשם החזקות

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

ירושלים

אזורים

קינג דיויד רזידנס
קינג דיויד רזידנס
קינג דיויד רזידנס
קינג דיויד רזידנס
קינג דיויד רזידנס
קינג דיויד רזידנס
קינג דיויד רזידנס
קינג דיויד רזידנס
קינג דיויד רזידנס
קינג דיויד רזידנס
קינג דיויד רזידנס

ירושלים

אזורים

אחוזת רכסים / מול הנוף
אחוזת רכסים / מול הנוף
אחוזת רכסים / מול הנוף
אחוזת רכסים / מול הנוף

ירושלים

קבוצת ציפחה אינטרנשיונל

כרמי נדיב / קרית מלאכי
כרמי נדיב / קרית מלאכי
כרמי נדיב / קרית מלאכי
כרמי נדיב / קרית מלאכי
כרמי נדיב / קרית מלאכי

ירושלים

קבוצת ציפחה אינטרנשיונל

מול הישיבה / ברכפלד
מול הישיבה / ברכפלד
מול הישיבה / ברכפלד
מול הישיבה / ברכפלד
מול הישיבה / ברכפלד
מול הישיבה / ברכפלד
מול הישיבה / ברכפלד
מול הישיבה / ברכפלד
מול הישיבה / ברכפלד

ירושלים

קבוצת ציפחה אינטרנשיונל

שערי העיר / ברכפלד
שערי העיר / ברכפלד
שערי העיר / ברכפלד
שערי העיר / ברכפלד
שערי העיר / ברכפלד
שערי העיר / ברכפלד
שערי העיר / ברכפלד
שערי העיר / ברכפלד
שערי העיר / ברכפלד
שערי העיר / ברכפלד
שערי העיר / ברכפלד

ירושלים

קבוצת ציפחה אינטרנשיונל

סביוני קטמון החדשה
סביוני קטמון החדשה
סביוני קטמון החדשה
סביוני קטמון החדשה
סביוני קטמון החדשה
סביוני קטמון החדשה

ירושלים

אפריקה התחדשות עירונית

סביוני קריית יובל (בוליביה 14)
סביוני קריית יובל (בוליביה 14)
סביוני קריית יובל (בוליביה 14)
סביוני קריית יובל (בוליביה 14)
סביוני קריית יובל (בוליביה 14)

ירושלים

אפריקה התחדשות עירונית

JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית
JAFFA COURTYARD | יהודה הימית תל אביב

ירושלים

קן התור הנדסה ובניין בע"מ

no-image
אצל 1-25 / ההגנה 8-32 / מבוא דקר 1-3 / 2-4

ירושלים

ע.ט החברה להתחדשות עירונית

ברוט /אבוחצירא
ברוט /אבוחצירא

ירושלים

ע.ט החברה להתחדשות עירונית

יהונתן
יהונתן
יהונתן
יהונתן
יהונתן

ירושלים

ע.ט החברה להתחדשות עירונית

ז’בוטינסקי / מנחם בגין
ז’בוטינסקי / מנחם בגין
ז’בוטינסקי / מנחם בגין

ירושלים

ע.ט החברה להתחדשות עירונית

בורוכוב
בורוכוב
בורוכוב
בורוכוב
בורוכוב

ירושלים

ע.ט החברה להתחדשות עירונית

שלום יהודה
שלום יהודה
שלום יהודה
שלום יהודה
שלום יהודה

ירושלים

ע.ט החברה להתחדשות עירונית

צוף
צוף
צוף
צוף
צוף

ירושלים

ע.ט החברה להתחדשות עירונית

ברזיל
ברזיל

ירושלים

ע.ט החברה להתחדשות עירונית

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