mirror of
https://github.com/KevinMidboe/OverlappingGeoJSON_Panes_Template.git
synced 2025-10-29 09:40:29 +00:00
200 lines
7.1 KiB
HTML
200 lines
7.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Atlas index with menu</title>
|
|
|
|
<!-- Mapbox.js -->
|
|
<meta name="viewport" content="initial-scale=1.0, initial-scale=1.0">
|
|
<script src='https://api.tiles.mapbox.com/mapbox.js/v2.1.4/mapbox.js'></script>
|
|
<link href='https://api.tiles.mapbox.com/mapbox.js/v2.1.4/mapbox.css' rel='stylesheet' />
|
|
|
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
|
|
body { margin:0; padding:0;
|
|
}
|
|
#map { position:absolute; top:0; bottom:0; width:100%; }
|
|
.leaflet-control-zoom {
|
|
left: 9px;
|
|
top: 15px;
|
|
}
|
|
.btn-custom {
|
|
background-color: hsl(197, 46%, 41%) !important;
|
|
background-repeat: repeat-x;
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#489abb", endColorstr="#387d98");
|
|
background-image: -khtml-gradient(linear, left top, left bottom, from(#489abb), to(#387d98));
|
|
background-image: -moz-linear-gradient(top, #489abb, #387d98);
|
|
background-image: -ms-linear-gradient(top, #489abb, #387d98);
|
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #489abb), color-stop(100%, #387d98));
|
|
background-image: -webkit-linear-gradient(top, #489abb, #387d98);
|
|
background-image: -o-linear-gradient(top, #489abb, #387d98);
|
|
background-image: linear-gradient(#489abb, #387d98);
|
|
border-color: #387d98 #387d98 hsl(197, 46%, 38.5%);
|
|
color: #fff !important;
|
|
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.16);
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
h3 {
|
|
background-color: black;
|
|
}
|
|
.maptext {
|
|
position:fixed;
|
|
font-size:24px;
|
|
color:white;
|
|
font-family: Arial,Helvetica Neue,Helvetica,sans-serif;
|
|
left:50%;
|
|
top:10%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
.custom-popup .leaflet-popup-content-wrapper {
|
|
text-align:center;
|
|
}
|
|
.custom-popup .leaflet-popup-content-wrapper a {
|
|
}
|
|
.menu-ui {
|
|
background:#fff;
|
|
position:absolute;
|
|
top:20px;right:10px;
|
|
z-index:1;
|
|
border-radius:3px;
|
|
width:60px;
|
|
border:1px solid rgba(0,0,0,0.4);
|
|
}
|
|
.menu-ui a {
|
|
font-size:14px;
|
|
color:#212121;
|
|
display:block;
|
|
margin:0;padding:0;
|
|
padding:2.5px;
|
|
text-decoration:none;
|
|
font-family: Arial,Helvetica Neue,Helvetica,sans-serif;
|
|
border-bottom:1px solid rgba(0,0,0,0.25);
|
|
text-align:center;
|
|
}
|
|
.menu-ui a:first-child {
|
|
border-radius:3px 3px 0 0;
|
|
}
|
|
.menu-ui a:last-child {
|
|
border:none;
|
|
border-radius:0 0 3px 3px;
|
|
}
|
|
.menu-ui a:hover {
|
|
background:#e9e8e8;
|
|
color:#212121;
|
|
padding:8px;
|
|
}
|
|
.menu-ui a.active {
|
|
background:#3887BE;
|
|
color:#FFF;
|
|
}
|
|
.menu-ui a.active:hover {
|
|
background:#3074a4;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<nav id='menu-ui' class='menu-ui'></nav>
|
|
<div class='custom-popup' id='map'>
|
|
|
|
</div>
|
|
<div class='maptext'>
|
|
<h3>Atlantic Neptune, Volume 1, Part 1a</h3>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
L.mapbox.accessToken = 'pk.eyJ1IjoiZXZhbnRob3JuYmVycnkiLCJhIjoiemVQMDBUdyJ9.aK0EfwMvPgquXMmxLf73lw';
|
|
// !!!Change setView location if needed - http://leafletjs.com/examples/quick-start-example.html
|
|
// Tiles and loading location
|
|
var tiles = L.tileLayer('http://b.tile.stamen.com/toner-lite/{z}/{x}/{y}.png', {
|
|
transparency: true,
|
|
attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>. Representative of the holdings at <a href="http://maps.bpl.org" target="_blank"><strong>The Leventhal Map Center</strong></a>.'}
|
|
);
|
|
var map = L.map('map', {
|
|
|
|
})
|
|
.addLayer(tiles)
|
|
.setView([46.06942, -63.68774], 6);
|
|
// *Change max and min zoom levels
|
|
var layers = document.getElementById('menu-ui');
|
|
|
|
var style1 = {
|
|
color:"#4ba8a7", opacity:".8", weight:"2",fillOpacity:".3",};
|
|
var style1mo = {
|
|
color:"#4ba8a7", opacity:".8", weight:"4", fillOpacity:".5"};
|
|
|
|
// this function creates a popup showing the layer name
|
|
function onEachFeature1(feature, layer) {
|
|
{
|
|
layer.bindPopup("This is <em>" + feature.properties.title + "</em> from The Atlantic Neptune, Volume 1, Part 1a" + ' </br></br><a class="btn btn-custom btn-sm" href="' + layer.feature.properties.url + '" role="button" target="_blank">view original<\/a>');
|
|
|
|
layer.setStyle(style1);
|
|
(function (layer, properties){
|
|
layer.on("mouseover", function(e){
|
|
layer.setStyle(style1mo);
|
|
});
|
|
layer.on("mouseout", function(e){
|
|
layer.setStyle(style1);
|
|
});
|
|
})(layer, feature.properties);
|
|
}
|
|
};
|
|
|
|
$.getJSON("https://raw.githubusercontent.com/ect123/Des-Barres-findingaid/master/maps/1-1a-6.geojson",function(data){
|
|
addLayer(L.geoJson(data, {onEachFeature: onEachFeature1} ), '6', -2);
|
|
});
|
|
$.getJSON("https://raw.githubusercontent.com/ect123/Des-Barres-findingaid/master/maps/1-1a-8.geojson",function(data){
|
|
addLayer(L.geoJson(data, {onEachFeature: onEachFeature1} ), '8', -1);
|
|
});
|
|
$.getJSON("https://raw.githubusercontent.com/ect123/Des-Barres-findingaid/master/maps/1-1a-13.geojson",function(data){
|
|
addLayer(L.geoJson(data, {onEachFeature: onEachFeature1} ), '13', 0);
|
|
});
|
|
$.getJSON("https://raw.githubusercontent.com/ect123/Des-Barres-findingaid/master/maps/1-1a-15.geojson",function(data){
|
|
addLayer(L.geoJson(data, {onEachFeature: onEachFeature1} ), '15', 1);
|
|
});
|
|
$.getJSON("https://raw.githubusercontent.com/ect123/Des-Barres-findingaid/master/maps/1-1a-10.geojson",function(data){
|
|
addLayer(L.geoJson(data, {onEachFeature: onEachFeature1} ), '10', 2);
|
|
});
|
|
|
|
function addLayer(layer, name, zIndex){
|
|
layer
|
|
.setZIndex(zIndex)
|
|
var link = document.createElement('a');
|
|
link.href = '#';
|
|
link.className = '';
|
|
link.innerHTML = name;
|
|
link.onclick = function(e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
if (map.hasLayer(layer)) {
|
|
map.removeLayer(layer);
|
|
this.className = '';
|
|
} else {
|
|
map.addLayer(layer);
|
|
this.className = 'active';
|
|
}
|
|
};
|
|
layers.appendChild(link);
|
|
}
|
|
</script>
|
|
|
|
<script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
ga('create', 'UA-47313789-1', 'auto');
|
|
ga('send', 'pageview');
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|