menu close תפריט

שפה

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

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

105 מודעות

סינון

קבלן

העיר

קרבה לים

מעל 7 קומות

עד 7 קומות

mse2_filter_tv_objcityplace

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

קבלן

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

+972 54-558-7797

palm קרבה לים
בן יהודה 191-א'
בן יהודה 191-א'

תל אביב

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

palm קרבה לים
הורקנוס 29
הורקנוס 29
הורקנוס 29

תל אביב

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

palm קרבה לים
בן יהודה 216
בן יהודה 216

תל אביב

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

palm קרבה לים
אנדרומדה
אנדרומדה

תל אביב יפו

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

palm קרבה לים
פרויקט WAVE
פרויקט WAVE
פרויקט WAVE
פרויקט WAVE
פרויקט WAVE
פרויקט WAVE

עכו‏‎

שמואל ברוך יזמות ובניה

הנביאים
הנביאים
הנביאים
הנביאים
הנביאים
הנביאים
הנביאים

חיפה

סינקו

palm קרבה לים
no-image
רוברט סולד, קריית ים

קריית ים

סינקו

palm קרבה לים
ארלוזורוב 5-7, בת ים
ארלוזורוב 5-7, בת ים
ארלוזורוב 5-7, בת ים
ארלוזורוב 5-7, בת ים
ארלוזורוב 5-7, בת ים

בת ים

קבוצת GLM ישראל

palm קרבה לים
אחד העם 8 חיפה
אחד העם 8 חיפה
אחד העם 8 חיפה
אחד העם 8 חיפה
אחד העם 8 חיפה
אחד העם 8 חיפה
אחד העם 8 חיפה
אחד העם 8 חיפה
אחד העם 8 חיפה
אחד העם 8 חיפה
אחד העם 8 חיפה

חיפה

שבט יהודה בע"מ

PORT TLV
PORT TLV
PORT TLV

תל אביב

קבוצת חג'ג'

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

בת ים

YBOX

palm קרבה לים
Hadar Yam
Hadar Yam

בת ים

Faire Fund

palm קרבה לים
Savyon City
Savyon City
Savyon City
Savyon City

נתניה

Africa Israel Residential LTD

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

נתניה

קבוצת איציק תשובה

palm קרבה לים
La Mer
La Mer
La Mer
La Mer
La Mer
La Mer
La Mer
La Mer
La Mer
LA MER בת ים

נתניה

קבוצת איציק תשובה

palm קרבה לים
Sea & City
Sea & City
Sea & City
Sea & City
Sea & City
Sea & City
Sea & City
Sea & City
Sea & City
Sea & City
Sea & City

נתניה

קבוצת איציק תשובה

palm קרבה לים
גשר האר
גשר האר
גשר האר
גשר האר
גשר האר
גשר האר
גשר האר
גשר האר
גשר האר
גשר האר
גשר האר"י

נתניה

קבוצת איציק תשובה

palm קרבה לים
נתניה T-Towers
נתניה T-Towers
נתניה T-Towers
נתניה T-Towers
נתניה T-Towers
נתניה T-Towers

נתניה

קבוצת איציק תשובה

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