| <!DOCTYPE html> |
| <html> |
| <head> |
| |
| <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> |
| <script src="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js"></script> |
| <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script> |
| <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js"></script> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js"></script> |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css"/> |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css"/> |
| <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css"/> |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css"/> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css"/> |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css"/> |
| |
| <meta name="viewport" content="width=device-width, |
| initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> |
| <style> |
| #map_d7517cbb1c7172b0ff2fd9ee6364f073 { |
| position: relative; |
| width: 100.0%; |
| height: 100.0%; |
| left: 0.0%; |
| top: 0.0%; |
| } |
| .leaflet-container { font-size: 1rem; } |
| </style> |
|
|
| <style>html, body { |
| width: 100%; |
| height: 100%; |
| margin: 0; |
| padding: 0; |
| } |
| </style> |
|
|
| <style>#map { |
| position:absolute; |
| top:0; |
| bottom:0; |
| right:0; |
| left:0; |
| } |
| </style> |
|
|
| <script> |
| L_NO_TOUCH = false; |
| L_DISABLE_3D = false; |
| </script> |
|
|
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-locatecontrol/0.66.2/L.Control.Locate.min.js"></script> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet-locatecontrol/0.66.2/L.Control.Locate.min.css"/> |
| </head> |
| <body> |
| |
| |
| <div class="desktop-stats-toggle" style=" |
| position:fixed; |
| top:10px; |
| right:10px; |
| z-index:10000; |
| direction:rtl; |
| font-family:Arial, sans-serif; |
| "> |
| <button id="btn_stats_15" onclick=" |
| var panel = document.getElementById('stats_15'); |
| var btn = document.getElementById('btn_stats_15'); |
| if (panel.style.display === 'none') { |
| panel.style.display = 'block'; |
| btn.innerText = 'إخفاء'; |
| } else { |
| panel.style.display = 'none'; |
| btn.innerText = 'عرض الملخص'; |
| } |
| " style=" |
| background:rgba(255,255,255,0.92); |
| border:none; |
| border-radius:14px; |
| padding:10px 14px; |
| font-size:14px; |
| font-weight:bold; |
| cursor:pointer; |
| box-shadow:0 2px 10px rgba(0,0,0,0.18); |
| ">إخفاء</button> |
| </div> |
|
|
| <div id="stats_15" class="stats-panel mobile-map-sheet" style=" |
| display:block; |
| position:fixed; |
| top:10px; |
| right:58px; |
| width:320px; |
| max-height:85vh; |
| overflow-y:auto; |
| background:rgba(255,255,255,0.86); |
| backdrop-filter:blur(4px); |
| -webkit-backdrop-filter:blur(4px); |
| border-radius:22px; |
| padding:18px 18px 16px 18px; |
| z-index:9999; |
| direction:rtl; |
| font-family:Arial, sans-serif; |
| box-shadow:0 8px 28px rgba(0,0,0,0.16); |
| line-height:1.9; |
| color:#222; |
| "> |
| <div style=" |
| font-size:18px; |
| font-weight:800; |
| text-align:center; |
| margin-bottom:10px; |
| ">ناصر عبدالله بن ناصر القحطاني - 15</div> |
|
|
| <div style="font-size:15px;"> |
| <div><b>عدد المواقع:</b> 2</div> |
| <div><b>عدد الحارات:</b> 1</div> |
| </div> |
|
|
| |
|
|
| <div style="margin-top:10px;"> |
| <div style="font-weight:bold;">أكثر الحارات:</div> |
| <div style="padding-right:8px;"><div>• ج14: 2</div></div> |
| </div> |
|
|
| <div style=" |
| margin-top:14px; |
| padding-top:10px; |
| border-top:1px solid rgba(0,0,0,0.08); |
| "> |
| <a href="report_15_ناصر_عبدالله_بن_ناصر_القحطاني.pdf" target="_blank" style=" |
| display:block; |
| text-align:center; |
| background:#16a34a; |
| color:#fff; |
| text-decoration:none; |
| padding:10px 12px; |
| border-radius:12px; |
| font-weight:700; |
| margin-bottom:8px; |
| ">تصدير بيانات هذه الخريطة PDF</a> |
|
|
| <a href="report_15_ناصر_عبدالله_بن_ناصر_القحطاني.xlsx" target="_blank" style=" |
| display:block; |
| text-align:center; |
| background:#2563eb; |
| color:#fff; |
| text-decoration:none; |
| padding:10px 12px; |
| border-radius:12px; |
| font-weight:700; |
| margin-bottom:8px; |
| ">تصدير بيانات هذه الخريطة Excel</a> |
|
|
| |
|
|
| <div style="font-weight:bold; margin-bottom:6px;">تلوين حسب الحارة</div> |
| <div style="font-size:13px;"> |
| |
| <div style="display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;"> |
| <div style="display:flex;align-items:center;gap:8px;"> |
| <span style=" |
| width:12px; |
| height:12px; |
| border-radius:50%; |
| display:inline-block; |
| background:purple; |
| border:1px solid rgba(0,0,0,0.15); |
| "></span> |
| <span>ج14</span> |
| </div> |
| <span style="color:#555;">(2)</span> |
| </div> |
| |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class="desktop-search-toggle" style=" |
| position:fixed; |
| top:10px; |
| left:10px; |
| z-index:10000; |
| direction:rtl; |
| font-family:Arial, sans-serif; |
| "> |
| <button id="searchToggleBtn" onclick="toggleSearchBox()" style=" |
| background:rgba(255,255,255,0.92); |
| border:none; |
| border-radius:14px; |
| padding:10px 14px; |
| font-size:14px; |
| font-weight:bold; |
| cursor:pointer; |
| box-shadow:0 2px 10px rgba(0,0,0,0.18); |
| ">إخفاء البحث</button> |
| </div> |
|
|
| <div id="searchBoxPanel" class="search-panel mobile-map-sheet" style=" |
| position:fixed; |
| top:55px; |
| left:10px; |
| z-index:10000; |
| direction:rtl; |
| font-family:Arial, sans-serif; |
| background:rgba(255,255,255,0.92); |
| padding:10px; |
| border-radius:16px; |
| box-shadow:0 2px 10px rgba(0,0,0,0.18); |
| width:300px; |
| "> |
| <input id="mapSearchInput" type="text" placeholder="ابحث عن اسم المنشأة..." |
| style=" |
| width:100%; |
| box-sizing:border-box; |
| padding:10px; |
| border-radius:12px; |
| border:1px solid #ccc; |
| font-size:14px; |
| direction:rtl; |
| "> |
|
|
| <div id="searchCount" style=" |
| margin-top:7px; |
| font-size:13px; |
| color:#334155; |
| line-height:1.7; |
| "> |
| اكتب للبحث داخل نقاط الخريطة |
| </div> |
|
|
| <button onclick="clearMapSearch()" style=" |
| margin-top:8px; |
| width:100%; |
| padding:8px; |
| border:none; |
| border-radius:10px; |
| background:#f3f4f6; |
| cursor:pointer; |
| font-weight:bold; |
| "> |
| مسح البحث |
| </button> |
| </div> |
|
|
| <div id="mobileMapToolbar"> |
| <button id="mobileSearchBtn" type="button" onclick="toggleMobileSheet('search')">بحث</button> |
| <button id="mobileStatsBtn" type="button" onclick="toggleMobileSheet('stats')">الملخص والتصدير</button> |
| </div> |
|
|
| <style> |
| #mobileMapToolbar { |
| display:none; |
| } |
| |
| @media (max-width: 768px) { |
| .desktop-search-toggle, |
| .desktop-stats-toggle { |
| display:none !important; |
| } |
| |
| .mobile-map-sheet { |
| display:none !important; |
| position:fixed !important; |
| top:auto !important; |
| right:10px !important; |
| left:10px !important; |
| bottom:72px !important; |
| width:auto !important; |
| max-height:68vh !important; |
| overflow-y:auto !important; |
| box-sizing:border-box !important; |
| z-index:10900 !important; |
| border-radius:20px !important; |
| background:rgba(255,255,255,0.96) !important; |
| box-shadow:0 8px 30px rgba(0,0,0,0.28) !important; |
| } |
| |
| .mobile-map-sheet.mobile-open { |
| display:block !important; |
| } |
| |
| #searchBoxPanel { |
| padding:14px !important; |
| } |
| |
| #mobileMapToolbar { |
| display:flex; |
| position:fixed; |
| right:10px; |
| left:10px; |
| bottom:10px; |
| z-index:11000; |
| gap:8px; |
| padding:7px; |
| direction:rtl; |
| border-radius:16px; |
| background:rgba(255,255,255,0.94); |
| box-shadow:0 4px 18px rgba(0,0,0,0.24); |
| font-family:Arial, sans-serif; |
| } |
| |
| #mobileMapToolbar button { |
| flex:1; |
| min-height:44px; |
| border:0; |
| border-radius:12px; |
| background:#f1f5f9; |
| color:#1f2937; |
| font-size:14px; |
| font-weight:700; |
| cursor:pointer; |
| } |
| |
| #mobileMapToolbar button.active { |
| background:#2563eb; |
| color:#fff; |
| } |
| |
| .map-footer { |
| display:none !important; |
| } |
| |
| .leaflet-control-zoom, |
| .leaflet-control-locate { |
| margin-bottom:82px !important; |
| } |
| } |
| </style> |
|
|
| <script> |
| window.searchableMarkers = []; |
| window.noCoordinateSamples = []; |
| |
| function closeMobileSheets() { |
| var searchPanel = document.getElementById("searchBoxPanel"); |
| var statsPanel = document.querySelector(".stats-panel"); |
| var searchBtn = document.getElementById("mobileSearchBtn"); |
| var statsBtn = document.getElementById("mobileStatsBtn"); |
| |
| if (searchPanel) searchPanel.classList.remove("mobile-open"); |
| if (statsPanel) statsPanel.classList.remove("mobile-open"); |
| if (searchBtn) searchBtn.classList.remove("active"); |
| if (statsBtn) statsBtn.classList.remove("active"); |
| } |
| |
| function toggleMobileSheet(sheetName) { |
| var panel = sheetName === "search" |
| ? document.getElementById("searchBoxPanel") |
| : document.querySelector(".stats-panel"); |
| var button = sheetName === "search" |
| ? document.getElementById("mobileSearchBtn") |
| : document.getElementById("mobileStatsBtn"); |
| var wasOpen = panel && panel.classList.contains("mobile-open"); |
| |
| closeMobileSheets(); |
| |
| if (panel && !wasOpen) { |
| panel.classList.add("mobile-open"); |
| if (button) button.classList.add("active"); |
| } |
| } |
| |
| function toggleSearchBox() { |
| var panel = document.getElementById("searchBoxPanel"); |
| var btn = document.getElementById("searchToggleBtn"); |
| |
| if (panel.style.display === "none") { |
| panel.style.display = "block"; |
| btn.innerText = "إخفاء البحث"; |
| } else { |
| panel.style.display = "none"; |
| btn.innerText = "إظهار البحث"; |
| } |
| } |
| |
| function normalizeArabicText(text) { |
| return (text || "") |
| .toString() |
| .toLowerCase() |
| .replace(/[أإآا]/g, "ا") |
| .replace(/ى/g, "ي") |
| .replace(/ة/g, "ه") |
| .replace(/ؤ/g, "و") |
| .replace(/ئ/g, "ي") |
| .replace(/ـ/g, "") |
| .trim(); |
| } |
| |
| function applyMapSearch() { |
| var input = document.getElementById("mapSearchInput"); |
| var countBox = document.getElementById("searchCount"); |
| var query = normalizeArabicText(input.value); |
| var shown = 0; |
| var noCoordMatch = false; |
| |
| window.searchableMarkers.forEach(function(item) { |
| var match = query === "" || normalizeArabicText(item.name).includes(query); |
| |
| if (match) { |
| if (!item.map.hasLayer(item.marker)) { |
| item.marker.addTo(item.map); |
| } |
| shown++; |
| } else { |
| if (item.map.hasLayer(item.marker)) { |
| item.map.removeLayer(item.marker); |
| } |
| } |
| }); |
| |
| if (query !== "") { |
| window.noCoordinateSamples.forEach(function(item) { |
| if (normalizeArabicText(item.name).includes(query)) { |
| noCoordMatch = true; |
| } |
| }); |
| } |
| |
| if (query === "") { |
| countBox.style.color = "#334155"; |
| countBox.innerText = "اكتب للبحث داخل نقاط الخريطة"; |
| } else if (shown > 0) { |
| countBox.style.color = "#334155"; |
| countBox.innerText = "عدد النتائج على الخريطة: " + shown; |
| } else if (noCoordMatch) { |
| countBox.style.color = "#dc2626"; |
| countBox.innerText = "العينة موجودة ضمن عينات الباحث، لكنها بدون إحداثية. كرماً الدخول عليها من الجهاز اللوحي."; |
| } else { |
| countBox.style.color = "#dc2626"; |
| countBox.innerText = "لا توجد نتيجة مطابقة داخل نقاط الخريطة."; |
| } |
| } |
| |
| function clearMapSearch() { |
| document.getElementById("mapSearchInput").value = ""; |
| applyMapSearch(); |
| } |
| |
| setTimeout(function() { |
| var input = document.getElementById("mapSearchInput"); |
| if (input) { |
| input.addEventListener("keyup", applyMapSearch); |
| input.addEventListener("change", applyMapSearch); |
| } |
| }, 800); |
| </script> |
| |
| |
| <script> |
| setTimeout(function() { |
| if (!window.searchableMarkers) { |
| window.searchableMarkers = []; |
| } |
| window.searchableMarkers.push({ |
| name: "مصنع لدائن للبلاستيك", |
| marker: marker_727b01b6a45bb4c95b8ffa5617d22194, |
| map: map_d7517cbb1c7172b0ff2fd9ee6364f073 |
| }); |
| }, 800); |
| </script> |
| |
| |
| <script> |
| setTimeout(function() { |
| if (!window.searchableMarkers) { |
| window.searchableMarkers = []; |
| } |
| window.searchableMarkers.push({ |
| name: "مصنع الأبيض الخفيف للبلك", |
| marker: marker_432909d4f128b647eb01d761869fbb2c, |
| map: map_d7517cbb1c7172b0ff2fd9ee6364f073 |
| }); |
| }, 800); |
| </script> |
| |
| |
| <div class="map-footer" style=" |
| position: fixed; |
| bottom: 8px; |
| left: 8px; |
| background: rgba(255,255,255,0.85); |
| padding: 6px 10px; |
| border-radius: 10px; |
| font-size: 13px; |
| direction: rtl; |
| z-index: 9999; |
| box-shadow: 0 1px 8px rgba(0,0,0,0.15); |
| "> |
| تصميم وإعداد <b>نوف الناصر</b> |
| </div> |
| |
| |
| <div class="folium-map" id="map_d7517cbb1c7172b0ff2fd9ee6364f073" ></div> |
| |
| </body> |
| <script> |
| |
| |
| var map_d7517cbb1c7172b0ff2fd9ee6364f073 = L.map( |
| "map_d7517cbb1c7172b0ff2fd9ee6364f073", |
| { |
| center: [28.398319835026953, 48.5044890942108], |
| crs: L.CRS.EPSG3857, |
| ...{ |
| "zoom": 13, |
| "zoomControl": true, |
| "preferCanvas": false, |
| } |
| |
| } |
| ); |
| |
| |
| |
| |
| |
| var tile_layer_bb01578d19f224c68eb93fb6bcd4f7f3 = L.tileLayer( |
| "https://tile.openstreetmap.org/{z}/{x}/{y}.png", |
| { |
| "minZoom": 0, |
| "maxZoom": 19, |
| "maxNativeZoom": 19, |
| "noWrap": false, |
| "attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", |
| "subdomains": "abc", |
| "detectRetina": false, |
| "tms": false, |
| "opacity": 1, |
| } |
| |
| ); |
| |
| |
| tile_layer_bb01578d19f224c68eb93fb6bcd4f7f3.addTo(map_d7517cbb1c7172b0ff2fd9ee6364f073); |
| |
| |
| var tile_layer_1ce0e63e58ae44ed6af9fae9694fba98 = L.tileLayer( |
| "https://tile.openstreetmap.org/{z}/{x}/{y}.png", |
| { |
| "minZoom": 0, |
| "maxZoom": 19, |
| "maxNativeZoom": 19, |
| "noWrap": false, |
| "attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", |
| "subdomains": "abc", |
| "detectRetina": false, |
| "tms": false, |
| "opacity": 1, |
| } |
| |
| ); |
| |
| |
| tile_layer_1ce0e63e58ae44ed6af9fae9694fba98.addTo(map_d7517cbb1c7172b0ff2fd9ee6364f073); |
| |
| |
| var tile_layer_6837af9050e5b887c30b8ebbb16d5961 = L.tileLayer( |
| "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", |
| { |
| "minZoom": 0, |
| "maxZoom": 18, |
| "maxNativeZoom": 18, |
| "noWrap": false, |
| "attribution": "\u0026copy; Esri", |
| "subdomains": "abc", |
| "detectRetina": false, |
| "tms": false, |
| "opacity": 1, |
| } |
| |
| ); |
| |
| |
| tile_layer_6837af9050e5b887c30b8ebbb16d5961.addTo(map_d7517cbb1c7172b0ff2fd9ee6364f073); |
| |
| |
| var locate_control_b75f0bc6e9864826bf2cc6c14b9ab51b = L.control.locate( |
| {} |
| ).addTo(map_d7517cbb1c7172b0ff2fd9ee6364f073); |
| |
| |
| |
| var marker_727b01b6a45bb4c95b8ffa5617d22194 = L.marker( |
| [28.4000535347057, 48.5047604435798], |
| { |
| } |
| ).addTo(map_d7517cbb1c7172b0ff2fd9ee6364f073); |
| |
| |
| var icon_db5ae9228105aa0bcdd539df523ba4f6 = L.AwesomeMarkers.icon( |
| { |
| "markerColor": "purple", |
| "iconColor": "white", |
| "icon": "info-sign", |
| "prefix": "glyphicon", |
| "extraClasses": "fa-rotate-0", |
| } |
| ); |
| |
| |
| var popup_6514e20eea781d1e2ee02273d7b466c3 = L.popup({ |
| "maxWidth": 320, |
| }); |
| |
| |
| |
| var html_e5211d7c826aaa7bb72d50e066e1cebf = $(`<div id="html_e5211d7c826aaa7bb72d50e066e1cebf" style="width: 100.0%; height: 100.0%;"> <div style="direction:rtl;font-size:13px;line-height:1.8;"> <b>مصنع لدائن للبلاستيك</b><br> السجل التجاري: 2057004037<br> المنطقة: الخفجي<br> الحارة: ج14<br> <a href="https://www.google.com/maps?q=28.4000535347057,48.5047604435798" target="_blank">فتح في خرائط جوجل</a> </div> </div>`)[0]; |
| popup_6514e20eea781d1e2ee02273d7b466c3.setContent(html_e5211d7c826aaa7bb72d50e066e1cebf); |
| |
| |
| |
| marker_727b01b6a45bb4c95b8ffa5617d22194.bindPopup(popup_6514e20eea781d1e2ee02273d7b466c3) |
| ; |
| |
| |
| |
| |
| marker_727b01b6a45bb4c95b8ffa5617d22194.setIcon(icon_db5ae9228105aa0bcdd539df523ba4f6); |
| |
| |
| var marker_432909d4f128b647eb01d761869fbb2c = L.marker( |
| [28.3965861353482, 48.5042177448418], |
| { |
| } |
| ).addTo(map_d7517cbb1c7172b0ff2fd9ee6364f073); |
| |
| |
| var icon_542356042e65193740faab6004b2dffd = L.AwesomeMarkers.icon( |
| { |
| "markerColor": "purple", |
| "iconColor": "white", |
| "icon": "info-sign", |
| "prefix": "glyphicon", |
| "extraClasses": "fa-rotate-0", |
| } |
| ); |
| |
| |
| var popup_bcbfb1ebb2d0b0ca791db640edcbe2bf = L.popup({ |
| "maxWidth": 320, |
| }); |
| |
| |
| |
| var html_fe66424ce0e9a189f9d7666a046ba3a6 = $(`<div id="html_fe66424ce0e9a189f9d7666a046ba3a6" style="width: 100.0%; height: 100.0%;"> <div style="direction:rtl;font-size:13px;line-height:1.8;"> <b>مصنع الأبيض الخفيف للبلك</b><br> السجل التجاري: 2057005684<br> المنطقة: الخفجي<br> الحارة: ج14<br> <a href="https://www.google.com/maps?q=28.3965861353482,48.5042177448418" target="_blank">فتح في خرائط جوجل</a> </div> </div>`)[0]; |
| popup_bcbfb1ebb2d0b0ca791db640edcbe2bf.setContent(html_fe66424ce0e9a189f9d7666a046ba3a6); |
| |
| |
| |
| marker_432909d4f128b647eb01d761869fbb2c.bindPopup(popup_bcbfb1ebb2d0b0ca791db640edcbe2bf) |
| ; |
| |
| |
| |
| |
| marker_432909d4f128b647eb01d761869fbb2c.setIcon(icon_542356042e65193740faab6004b2dffd); |
| |
| </script> |
| </html> |