Map / TG /33.html
stat2025's picture
Upload 97 files
61011d4 verified
Raw
History Blame Contribute Delete
15.8 kB
<!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_c4f71abb88ee547d8f8bc920a25c8deb {
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_33" onclick="
var panel = document.getElementById('stats_33');
var btn = document.getElementById('btn_stats_33');
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_33" class="stats-panel mobile-map-sheet" style="
display:block;position:fixed;top:10px;right:58px;width:330px;max-height:85vh;overflow-y:auto;
background:rgba(255,255,255,0.88);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;">nan</div>
<div style="font-size:15px;">
<div><b>عدد المواقع بإحداثية:</b> 0</div>
<div><b>عدد الحارات:</b> 1</div>
</div>
<div style="margin-top:12px;padding:12px;border-radius:14px;background:#fee2e2;color:#991b1b;text-align:center;font-weight:700;line-height:1.8;">
لا توجد إحداثيات لجميع العينات (3965).<br>
يرجى الرجوع للنظام اللوحي.
</div>
<div style="margin-top:10px;">
<div style="font-weight:bold;">أكثر الحارات:</div>
<div style="padding-right:8px;"><div>• nan: 3965</div></div>
</div>
<div style="margin-top:14px;padding-top:10px;border-top:1px solid rgba(0,0,0,0.08);">
<a href="report_33_nan.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_33_nan.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-size:13px;"><div style='font-weight:700;margin-bottom:6px;'>لون العينات الأساسية</div>
<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:#16A34A;border:1px solid rgba(0,0,0,0.15);"></span>
<span>المسح الأساسي</span>
</div>
<span style="color:#555;">(3965)</span>
</div>
</div>
</div>
</div>
<div id="searchBoxPanel" class="desktop-search-panel mobile-map-sheet" style="position:fixed;top:10px;left:10px;z-index:10000;direction:rtl;font-family:Arial,sans-serif;">
<input id="mapSearchInput" type="text" placeholder="ابحث عن اسم المنشأة..."
style="width:300px;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;background:rgba(255,255,255,.88);padding:5px 8px;border-radius:10px;">
اكتب للبحث داخل نقاط الخريطة
</div>
</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-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;
padding:14px !important;
}
.mobile-map-sheet.mobile-open {
display:block !important;
}
#searchBoxPanel input {
width:100% !important;
min-height:44px !important;
font-size:16px !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:46px;
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;
}
.leaflet-popup-content {
max-width:calc(100vw - 80px) !important;
}
}
</style>
<script>
window.searchableMarkers = [];
function setMobileButtonState(activeTarget) {
var searchBtn = document.getElementById("mobileSearchBtn");
var statsBtn = document.getElementById("mobileStatsBtn");
if (searchBtn) searchBtn.classList.toggle("active", activeTarget === "search");
if (statsBtn) statsBtn.classList.toggle("active", activeTarget === "stats");
}
function closeMobileSheets() {
var searchPanel = document.getElementById("searchBoxPanel");
var statsPanel = document.querySelector(".stats-panel");
if (searchPanel) searchPanel.classList.remove("mobile-open");
if (statsPanel) statsPanel.classList.remove("mobile-open");
setMobileButtonState("");
}
function toggleMobileSheet(target) {
var searchPanel = document.getElementById("searchBoxPanel");
var statsPanel = document.querySelector(".stats-panel");
var targetPanel = target === "search" ? searchPanel : statsPanel;
var willOpen = targetPanel && !targetPanel.classList.contains("mobile-open");
closeMobileSheets();
if (willOpen) {
targetPanel.classList.add("mobile-open");
setMobileButtonState(target);
if (target === "search") {
setTimeout(function() {
var input = document.getElementById("mapSearchInput");
if (input) input.focus();
}, 100);
}
}
}
setTimeout(function() {
var input = document.getElementById("mapSearchInput");
var count = document.getElementById("searchCount");
if (!input) return;
input.addEventListener("input", function() {
var q = input.value.trim().toLowerCase();
var found = 0;
window.searchableMarkers.forEach(function(item) {
var ok = !q || item.name.toLowerCase().indexOf(q) >= 0;
if (item.layer && item.map) {
if (ok) {
if (!item.map.hasLayer(item.layer)) item.layer.addTo(item.map);
found += 1;
} else {
if (item.map.hasLayer(item.layer)) item.map.removeLayer(item.layer);
}
}
});
count.innerText = q ? ("نتائج البحث: " + found) : "اكتب للبحث داخل نقاط الخريطة";
});
}, 1000);
</script>
<div style="position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9000;
width:min(420px,calc(100% - 40px));box-sizing:border-box;padding:20px;border-radius:20px;
background:rgba(255,255,255,0.95);box-shadow:0 8px 30px rgba(0,0,0,0.25);
direction:rtl;text-align:center;font-family:Arial,sans-serif;color:#991b1b;font-size:17px;
font-weight:700;line-height:1.9;">
<div style="font-size:20px;color:#111827;margin-bottom:6px;">nan</div>
لا توجد إحداثيات لجميع العينات (3965).<br>
يرجى الرجوع للنظام اللوحي.
</div>
<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_c4f71abb88ee547d8f8bc920a25c8deb" ></div>
</body>
<script>
var map_c4f71abb88ee547d8f8bc920a25c8deb = L.map(
"map_c4f71abb88ee547d8f8bc920a25c8deb",
{
center: [24.7136, 46.6753],
crs: L.CRS.EPSG3857,
...{
"zoom": 6,
"zoomControl": true,
"preferCanvas": false,
}
}
);
var tile_layer_5538e0dc414335a66eb2158485f429c9 = 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_5538e0dc414335a66eb2158485f429c9.addTo(map_c4f71abb88ee547d8f8bc920a25c8deb);
var tile_layer_9d0542da2aaf8b1a0015a271adba4718 = 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_9d0542da2aaf8b1a0015a271adba4718.addTo(map_c4f71abb88ee547d8f8bc920a25c8deb);
var tile_layer_4cd4d5dfbd32fb692b463411410d13fe = 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_4cd4d5dfbd32fb692b463411410d13fe.addTo(map_c4f71abb88ee547d8f8bc920a25c8deb);
var locate_control_2846117ee95a99991930f82667680cdb = L.control.locate(
{}
).addTo(map_c4f71abb88ee547d8f8bc920a25c8deb);
var layer_control_05d7ec5ea0bc9df8db1afb8c90bf2a58_layers = {
base_layers : {
"openstreetmap" : tile_layer_9d0542da2aaf8b1a0015a271adba4718,
"\u0623\u0642\u0645\u0627\u0631 \u0635\u0646\u0627\u0639\u064a\u0629 (Esri)" : tile_layer_4cd4d5dfbd32fb692b463411410d13fe,
},
overlays : {
},
};
let layer_control_05d7ec5ea0bc9df8db1afb8c90bf2a58 = L.control.layers(
layer_control_05d7ec5ea0bc9df8db1afb8c90bf2a58_layers.base_layers,
layer_control_05d7ec5ea0bc9df8db1afb8c90bf2a58_layers.overlays,
{
"position": "topright",
"collapsed": true,
"autoZIndex": true,
}
).addTo(map_c4f71abb88ee547d8f8bc920a25c8deb);
</script>
</html>