Created
March 29, 2026 23:05
-
-
Save rmrfus/337efa1984617c44a3be9e680cc591f5 to your computer and use it in GitHub Desktop.
2026 Sierras Basecamp map
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <title>2026 Sierras — Basecamp Variant</title> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"/> | |
| <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script> | |
| <style> | |
| body { margin: 0; font-family: sans-serif; } | |
| #map { height: 100vh; } | |
| .legend { background: white; padding: 8px 12px; border-radius: 4px; line-height: 1.8; } | |
| .legend-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 6px; vertical-align: middle; } | |
| .rl { background: white; border: 1px solid #e8820a; border-radius: 4px; padding: 1px 5px; font-size: 11px; font-weight: bold; color: #e8820a; box-shadow: none; } | |
| </style> | |
| </head> | |
| <body> | |
| <div id="map"></div> | |
| <script> | |
| var map = L.map('map').setView([37.2, -118.2], 8); | |
| L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { | |
| attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>', | |
| maxZoom: 19 | |
| }).addTo(map); | |
| function addMarker(lat, lon, name, desc, color) { | |
| var icon = L.divIcon({ | |
| html: '<div style="width:14px;height:14px;border-radius:50%;background:' + color + ';border:2px solid white;box-shadow:0 1px 3px rgba(0,0,0,0.4)"></div>', | |
| iconSize: [14, 14], | |
| iconAnchor: [7, 7], | |
| className: '' | |
| }); | |
| L.marker([lat, lon], {icon: icon}) | |
| .bindPopup('<b>' + name + '</b>' + (desc ? '<br><br>' + desc : '')) | |
| .addTo(map); | |
| } | |
| // route: LAS → Lone Pine → Mammoth → LAS | |
| var route = L.polyline([ | |
| [36.1147, -115.1728], | |
| [36.5673, -118.0747], | |
| [37.6488, -119.0328], | |
| [36.1147, -115.1728] | |
| ], {color: '#e8820a', weight: 3, opacity: 0.8}).addTo(map); | |
| // drive time labels | |
| L.marker([36.34, -116.62], {icon:L.divIcon({className:'',iconSize:[0,0],iconAnchor:[0,0]}),interactive:false}).bindTooltip('~4h',{permanent:true,direction:'center',className:'rl',offset:[0,0]}).addTo(map); | |
| L.marker([37.12, -118.56], {icon:L.divIcon({className:'',iconSize:[0,0],iconAnchor:[0,0]}),interactive:false}).bindTooltip('~1.5h',{permanent:true,direction:'center',className:'rl',offset:[0,0]}).addTo(map); | |
| L.marker([36.85, -116.65], {icon:L.divIcon({className:'',iconSize:[0,0],iconAnchor:[0,0]}),interactive:false}).bindTooltip('~4.5h',{permanent:true,direction:'center',className:'rl',offset:[0,0]}).addTo(map); | |
| // base camps | |
| addMarker(36.5673, -118.0747, 'База 1 — Lone Pine (авг 21–23, 2 ночи)', 'Tuttle Creek BLM (бесплатно) или Lone Pine CG.<br>Душ: Whitney Portal Store ~$10.<br>~4ч от LAS.', '#4a90d9'); | |
| addMarker(37.6488, -119.0328, 'База 2 — Mammoth Lakes (авг 23–29, 6 ночей)', 'Convict Lake CG или Lake Mary CG.<br>Душ: Reds Meadow $5 / Camp High Sierra $8.<br>~1.5ч от Lone Pine.', '#4a90d9'); | |
| // LAS | |
| addMarker(36.1147, -115.1728, 'LAS — Las Vegas (прилёт/вылет)', 'Все слетаются сюда: Ваня+Вова из SEA/BOS, Лелик из DEN.<br>Рент машины тут.', '#888888'); | |
| // activities from Lone Pine | |
| addMarker(36.6, -118.1167, 'Alabama Hills', 'Арки, Movie Flat Rd. Iconic. ~10 мин от Lone Pine CG.', '#27ae60'); | |
| addMarker(36.5862, -118.2393, 'Whitney Portal', 'Walk-up permit с утра в Lone Pine ranger station.<br>Portal Trail → Lone Pine Lake ~6mi, ~1000ft.', '#27ae60'); | |
| // activities from Mammoth | |
| addMarker(37.5333, -118.7833, 'Wild Willy\'s Hot Springs', 'Free. У Crowley Lake, ~30 мин от Mammoth.<br>Оппортунистически.', '#e8402a'); | |
| addMarker(37.6312, -119.0847, 'Devils Postpile + Rainbow Falls', 'Shuttle от Mammoth Mountain. ~5mi хайк.', '#27ae60'); | |
| addMarker(37.6565, -119.1218, 'Emerald Lake Trail', '~4.5mi, ~700ft. Из Mammoth.', '#27ae60'); | |
| addMarker(37.782, -119.085, 'June Lake Loop', 'Parker Lake Trail ~7.5mi, ~900ft. Или просто проехать.', '#27ae60'); | |
| addMarker(37.9, -119.005, 'Mono Lake South Tufa', 'Туфовые башни, инопланетно. ~1-3mi, плоско. Закат.', '#27ae60'); | |
| addMarker(37.6313, -119.0519, 'Convict Lake', 'Loop ~2.5mi если стоим в Convict Lake CG. Красиво.', '#27ae60'); | |
| addMarker(37.8167, -118.4833, 'Benton Hot Springs', 'Day trip ~1.5ч от Mammoth.<br>Кемп с private hot spring tubs — резервировать заранее!', '#e8402a'); | |
| var legend = L.control({position: 'bottomleft'}); | |
| legend.onAdd = function() { | |
| var div = L.DomUtil.create('div', 'legend'); | |
| div.innerHTML = | |
| '<b>2026 Sierras — Basecamp</b><br>' + | |
| '<span class="legend-dot" style="background:#4a90d9"></span>base camp<br>' + | |
| '<span class="legend-dot" style="background:#e8402a"></span>hot spring<br>' + | |
| '<span class="legend-dot" style="background:#27ae60"></span>activity<br>' + | |
| '<span class="legend-dot" style="background:#888888"></span>airport'; | |
| return div; | |
| }; | |
| legend.addTo(map); | |
| </script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment