Map / Rahn /18.html
stat2025's picture
Upload 95 files
a85e155 verified
Raw
History Blame Contribute Delete
27.2 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_9778e5f01b36b3c44a5a6f483f536cc2 {
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_18" onclick="
var panel = document.getElementById('stats_18');
var btn = document.getElementById('btn_stats_18');
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_18" 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;
">لين أحمد بن عبدالعزيز القصير - 1</div>
<div style="font-size:15px;">
<div><b>عدد المواقع:</b> 3</div>
<div><b>عدد الحارات:</b> 2</div>
</div>
<div style="margin-top:10px;">
<div style="font-weight:bold;">أكثر الحارات:</div>
<div style="padding-right:8px;"><div>• المدينة الصناعية الثانية بالدمام: 2</div><div>• مدينة الفوزان: 1</div></div>
</div>
<div style="
margin-top:14px;
padding-top:10px;
border-top:1px solid rgba(0,0,0,0.08);
">
<a href="report_18_لين_أحمد_بن_عبدالعزيز_القصير.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_18_لين_أحمد_بن_عبدالعزيز_القصير.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>
<a href="no_coordinates_18_لين_أحمد_بن_عبدالعزيز_القصير.pdf" target="_blank" style="
display:block;
text-align:center;
background:#dc2626;
color:#fff;
text-decoration:none;
padding:10px 12px;
border-radius:12px;
font-weight:700;
margin-bottom:14px;
">عينات بدون إحداثية PDF</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:lightblue;
border:1px solid rgba(0,0,0,0.15);
"></span>
<span>المدينة الصناعية الثانية بالدمام</span>
</div>
<span style="color:#555;">(2)</span>
</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:lightblue;
border:1px solid rgba(0,0,0,0.15);
"></span>
<span>مدينة الفوزان</span>
</div>
<span style="color:#555;">(1)</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 = [{"name": "مطعم سهام محمد بن يحي همام للمأكولات البحرية"}, {"name": "محل قمة الاحساس لتقديم المشروبات"}, {"name": "مغسلة التاج لغسيل الملابس"}, {"name": "محل ركن مهدي للاسماك"}, {"name": "مؤسسة جوافه التجارية"}, {"name": "شركة نفيد لتقنية المعلومات"}, {"name": "شركة واروم التكنولوجيا العربية الصناعية"}, {"name": "شركة كونتك الدولية للصيانة شركة شخص واحد"}, {"name": "شركة محور البيانات الثانية لتقنية المعلومات"}, {"name": "شركة المكائن المحوسبة المتقدمة للتجارة شركة شخص واحد"}, {"name": "شركة ملكة دارين للنقليات"}, {"name": "مؤسسة جوافه التجارية"}, {"name": "مطعم ضواحي مدن لتقديم الوجبات"}, {"name": "مطعم ركن مدن لتقديم الوجبات"}, {"name": "مطعم انعام العربية لتقديم الوجبات"}, {"name": "مؤسسة جوافه التجارية"}, {"name": "مؤسسة رجاء عبدالله الحرز للتدريب"}, {"name": "صالون حمد خالد بن حمد السويدي للحلاقة الرجالية"}, {"name": "شركة هلا العربية"}, {"name": "مؤسسة رهف مساعد بن عبدالله السبيعي"}, {"name": "شركة ويسترنجيكو السعودية العربية المحدودة"}];
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_6eb692c431ff345c7e9cfb82432ab01a,
map: map_9778e5f01b36b3c44a5a6f483f536cc2
});
}, 800);
</script>
<script>
setTimeout(function() {
if (!window.searchableMarkers) {
window.searchableMarkers = [];
}
window.searchableMarkers.push({
name: "شركة هدن للمقاولات شركة شخص واحد",
marker: marker_90815a22cdc851a1e795d8e89063653b,
map: map_9778e5f01b36b3c44a5a6f483f536cc2
});
}, 800);
</script>
<script>
setTimeout(function() {
if (!window.searchableMarkers) {
window.searchableMarkers = [];
}
window.searchableMarkers.push({
name: "مصنع البان الخليج الصناعية",
marker: marker_88b8e92488107608e3d9de9dc248d3f2,
map: map_9778e5f01b36b3c44a5a6f483f536cc2
});
}, 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_9778e5f01b36b3c44a5a6f483f536cc2" ></div>
</body>
<script>
var map_9778e5f01b36b3c44a5a6f483f536cc2 = L.map(
"map_9778e5f01b36b3c44a5a6f483f536cc2",
{
center: [26.374705303333332, 50.02440994],
crs: L.CRS.EPSG3857,
...{
"zoom": 13,
"zoomControl": true,
"preferCanvas": false,
}
}
);
var tile_layer_29145226ab4f380bec6994c5ea25cdba = 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_29145226ab4f380bec6994c5ea25cdba.addTo(map_9778e5f01b36b3c44a5a6f483f536cc2);
var tile_layer_594f6616263eb5943457b510f70994b2 = 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_594f6616263eb5943457b510f70994b2.addTo(map_9778e5f01b36b3c44a5a6f483f536cc2);
var tile_layer_12176d9c355dc26069b2240d0e27d79a = 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_12176d9c355dc26069b2240d0e27d79a.addTo(map_9778e5f01b36b3c44a5a6f483f536cc2);
var locate_control_36a51cc4fcebb3efb778e9058137109d = L.control.locate(
{}
).addTo(map_9778e5f01b36b3c44a5a6f483f536cc2);
var marker_6eb692c431ff345c7e9cfb82432ab01a = L.marker(
[26.349569, 49.99703909],
{
}
).addTo(map_9778e5f01b36b3c44a5a6f483f536cc2);
var icon_05f14d6ba778e5ac97565be6e9a05291 = L.AwesomeMarkers.icon(
{
"markerColor": "lightblue",
"iconColor": "white",
"icon": "info-sign",
"prefix": "glyphicon",
"extraClasses": "fa-rotate-0",
}
);
var popup_1fa0132c471e3d27ce08ffaa03ee27a3 = L.popup({
"maxWidth": 320,
});
var html_229bfe7a582f02b733895979a4f698a2 = $(`<div id="html_229bfe7a582f02b733895979a4f698a2" style="width: 100.0%; height: 100.0%;"> <div style="direction:rtl;font-size:13px;line-height:1.8;"> <b>مصنع شرق الاحتراف للمنتجات الغذائية</b><br> السجل التجاري: 1010632476<br> الرقم الموحد: -<br> isic4: 1073.0<br> المنطقة: المنطقة الشرقية<br> الحارة: مدينة الفوزان<br> <a href="https://www.google.com/maps?q=26.349569,49.99703909" target="_blank">فتح في خرائط جوجل</a> </div> </div>`)[0];
popup_1fa0132c471e3d27ce08ffaa03ee27a3.setContent(html_229bfe7a582f02b733895979a4f698a2);
marker_6eb692c431ff345c7e9cfb82432ab01a.bindPopup(popup_1fa0132c471e3d27ce08ffaa03ee27a3)
;
marker_6eb692c431ff345c7e9cfb82432ab01a.setIcon(icon_05f14d6ba778e5ac97565be6e9a05291);
var marker_90815a22cdc851a1e795d8e89063653b = L.marker(
[26.40653842, 50.11225889],
{
}
).addTo(map_9778e5f01b36b3c44a5a6f483f536cc2);
var icon_62235d4562a869d527ecdf17b557dcae = L.AwesomeMarkers.icon(
{
"markerColor": "lightblue",
"iconColor": "white",
"icon": "info-sign",
"prefix": "glyphicon",
"extraClasses": "fa-rotate-0",
}
);
var popup_6d7f84257af3b4c293a976b57ec7c4c5 = L.popup({
"maxWidth": 320,
});
var html_87f157a5faeece3a708bd9bda0995a46 = $(`<div id="html_87f157a5faeece3a708bd9bda0995a46" style="width: 100.0%; height: 100.0%;"> <div style="direction:rtl;font-size:13px;line-height:1.8;"> <b>شركة هدن للمقاولات شركة شخص واحد</b><br> السجل التجاري: 2050156786<br> الرقم الموحد: 7028583834.0<br> isic4: -<br> المنطقة: المنطقة الشرقية<br> الحارة: المدينة الصناعية الثانية بالدمام<br> <a href="https://www.google.com/maps?q=26.40653842,50.11225889" target="_blank">فتح في خرائط جوجل</a> </div> </div>`)[0];
popup_6d7f84257af3b4c293a976b57ec7c4c5.setContent(html_87f157a5faeece3a708bd9bda0995a46);
marker_90815a22cdc851a1e795d8e89063653b.bindPopup(popup_6d7f84257af3b4c293a976b57ec7c4c5)
;
marker_90815a22cdc851a1e795d8e89063653b.setIcon(icon_62235d4562a869d527ecdf17b557dcae);
var marker_88b8e92488107608e3d9de9dc248d3f2 = L.marker(
[26.36800849, 49.96393184],
{
}
).addTo(map_9778e5f01b36b3c44a5a6f483f536cc2);
var icon_70ff718d9066ee5b31cb4e23030d4892 = L.AwesomeMarkers.icon(
{
"markerColor": "lightblue",
"iconColor": "white",
"icon": "info-sign",
"prefix": "glyphicon",
"extraClasses": "fa-rotate-0",
}
);
var popup_07d38e5f785873209e4dbc7042fee88e = L.popup({
"maxWidth": 320,
});
var html_9bb9beffd49d4944526f8898269de343 = $(`<div id="html_9bb9beffd49d4944526f8898269de343" style="width: 100.0%; height: 100.0%;"> <div style="direction:rtl;font-size:13px;line-height:1.8;"> <b>مصنع البان الخليج الصناعية</b><br> السجل التجاري: 2050120349<br> الرقم الموحد: -<br> isic4: -<br> المنطقة: المنطقة الشرقية<br> الحارة: المدينة الصناعية الثانية بالدمام<br> <a href="https://www.google.com/maps?q=26.36800849,49.96393184" target="_blank">فتح في خرائط جوجل</a> </div> </div>`)[0];
popup_07d38e5f785873209e4dbc7042fee88e.setContent(html_9bb9beffd49d4944526f8898269de343);
marker_88b8e92488107608e3d9de9dc248d3f2.bindPopup(popup_07d38e5f785873209e4dbc7042fee88e)
;
marker_88b8e92488107608e3d9de9dc248d3f2.setIcon(icon_70ff718d9066ee5b31cb4e23030d4892);
</script>
</html>