menu close תפריט

שפה

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

פרויקטים ליד הים

105 מודעות

סינון

קבלן

העיר

קרבה לים

מעל 7 קומות

עד 7 קומות

mse2_filter_tv_objcityplace

סינון
bg על המפה
פרטי קשר של הקבלן

קבלן

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

+972 54-558-7797

palm קרבה לים
שירת הים
שירת הים
שירת הים
שירת הים
שירת הים
שירת הים
שירת הים

קריית ים

קבוצת נתיב

palm קרבה לים
יחד במרינה
יחד במרינה
יחד במרינה
יחד במרינה
יחד במרינה
יחד במרינה
יחד במרינה
יחד במרינה
יחד במרינה
יחד במרינה
יחד במרינה

אשדוד

יחד הבונים

palm קרבה לים
חוף לידו
חוף לידו
חוף לידו
חוף לידו

אשדוד

קבוצת גבאי

palm קרבה לים
בנימין 98
בנימין 98

נתניה

קבוצת גבאי

palm קרבה לים
המפרש 5
המפרש 5

אשדוד

יחד הבונים

palm קרבה לים
מע
מע"ר

אשדוד

יחד הבונים

palm קרבה לים
Sea Side
Sea Side
Sea Side
Sea Side
Sea Side
Sea Side
Sea Side
Sea Side

אשדוד

יחד הבונים

palm קרבה לים
שפירא
שפירא
שפירא
מגדלי יחד

אשדוד

יחד הבונים

The Blue Cliff
The Blue Cliff
The Blue Cliff
The Blue Cliff
The Blue Cliff
The Blue Cliff
The Blue Cliff
The Blue Cliff
The Blue Cliff
The Blue Cliff
The Blue Cliff

נתניה

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

palm קרבה לים
מול ים
מול ים
מול ים
מול ים
מול ים
מול ים
מול ים
מול ים

תל אביב

עץ השקד

palm קרבה לים
NXT
NXT
NXT
NXT
NXT
NXT

בת-ים

עץ השקד

palm קרבה לים
Brizo 3
Brizo 3
Brizo 3
Brizo 3
Brizo 3

בת ים

שפונדר פדלון

palm קרבה לים
צרפתי SEA&PARK
צרפתי SEA&PARK
צרפתי SEA&PARK
צרפתי SEA&PARK

בת ים

צרפתי שמעון

פנורמה צפון בפארק הים
פנורמה צפון בפארק הים

בת ים

פנורמה צפון

palm קרבה לים
שדרות מוצקין 5
שדרות מוצקין 5
שדרות מוצקין 5

תל אביב

בינוי ודיור

palm קרבה לים
נחלת בנימין 23 א'
נחלת בנימין 23 א'
נחלת בנימין 23 א'

תל אביב

בינוי ודיור

palm קרבה לים
אידלסון 13 א'
אידלסון 13 א'

תל אביב

בינוי ודיור

palm קרבה לים
שפירא 11
שפירא 11

בת ים

City סיטי פרוייקטים

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