beh-walkability-leaflet-on-off
by nygeog
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://libs.cartocdn.com/cartodb.js/v3/3.11/themes/css/cartodb.css">
<script src="http://libs.cartocdn.com/cartodb.js/v3/3.11/cartodb.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<body onload="init()">
<div id='map'></div>
<!-- LEFT PANEL IS SAME FOR EVERY PAGE -->
<div id="leftpanel">
<button class="btn btn-default dropdown-toggle" type="button" id="menu1"><a href="../../../" class="button all">Home</a>
</button>
<button class="btn btn-default dropdown-toggle" type="button" id="menu1"><a href="../../../data/download.html" class="button all">All Data</a>
</button>
<button class="btn btn-default dropdown-toggle" type="button" id="menu1"><a href="" class="button all">Reset</a>
</button>
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">Variables
<span class="caret"></span></button>
<ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
<strong>Built Environment</strong><li role="presentation"><a href="walkability-ct2010.html" id="walkability-ct2010" class="button walkability-ct2010">Walkability</a></li><li role="presentation"><a href="treecanopy-ct2010.html" id="treecanopy-ct2010" class="button treecanopy-ct2010">Tree Canopy</a></li><li role="presentation"><a href="bikertlenall-ct2010.html" id="bikertlenall-ct2010" class="button bikertlenall-ct2010">Bike Routes Length</a></li><strong>Social Environment</strong><li role="presentation"><a href="acsmhhi-ct2010.html" id="acsmhhi-ct2010"...
CSS
html, body {
width:100%;
height:100%;
padding: 0;
margin: 0;}
#leftpanel{
position: absolute;
top: 136px;
left: 45px;
width: 180pt;
height: 0pt;
float: left;
background: transparent;
}
#map {
width: 100%;
height:100%;
background: white;}
.cartodb-legend-stack {
position: absolute;
left: 45px;
width: 250px;
top:5px;
padding: 5px;
z-index: 99;
height: 130;
/*bottom: auto;*/
}
#exports {
position: absolute;
bottom: 20px;
right: 8px;
height: 100px;
text-align: right;}
#alldata {
position: absolute;
bottom: 18px;
left: 8px;
height: 30px;
text-align: left;}
/* layers control */
.leaflet-control-layers {
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
background: #fff;
border-radius: 5px;
}
/*.leaflet-control-layers-toggle {
background-image: url(images/layers.png);
width: 36px;
height: 36px;
}
.leaflet-retina .leaflet-control-layers-toggle {
background-image: url(images/layers-2x.png);
background-size: 26px 26px;
}*/
.leaflet-touch .leaflet-control-layers-toggle {
width: 44px;
height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
display: block;
position: relative;
}
.leaflet-control-layers-expanded {
padding: 6px 10px 6px 6px;
color: #333;
background: #fff;
}
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
top: 1px;
}
.leaflet-control-layers label {
display: block;
}
.leaflet-control-layers-separator {
height: 0;
border-top: 1px solid #ddd;
margin: 5px -10px 5px -6px;
}
JavaScript
var map;
function init(){
var toggler = new L.LayerGroup();
// initiate leaflet map
map = new L.Map('map', {
center: [40.705,-74.00],
zoom: 11,
layers: [toggler]
})
//L.tileLayer('https://dnv9my2eseobd.cloudfront.net/v3/cartodb.map-4xtxp73f/{z}/{x}/{y}.png', {
// attribution: 'Mapbox <a href="http://mapbox.com/about/maps" target="_blank">Terms & Feedback</a>'
//}).addTo(map);
//L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
// attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
//}).addTo(map);
L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, © <a href="http://cartodb.com/attributions">CartoDB</a>'
}).addTo(map);
var layerUrl = "https://dms2203.cartodb.com/api/v2/viz/a7e9cb92-9b52-11e4-b578-0e9d821ea90d/viz.json";
var sublayers = [];
cartodb.createLayer(map, layerUrl,{
title: true,
description: false,
search: true,
tiles_loader: true,
layer_selector:true,
cartodb_logo: false,
legends: true
})
.addTo(map)
.addTo(toggler)
.on('done', function(layer) {
// change the query for the first layer
var subLayerOptions = {
//sql: "SELECT * FROM ne_10m_populated_places_simple",
//cartocss: "#ne_10m_populated_places_simple{marker-fill: #F84F40; marker-width: 8; marker-line-color: white; marker-line-width: 2; marker-clip: false; marker-allow-overlap: true;}"
}
var sublayer = layer.getSubLayer(0);
sublayer.set(subLayerOptions);
sublayers.push(sublayer);
}).on('error', function() {
...