Skip to content

Instantly share code, notes, and snippets.

@herotux
Created June 21, 2018 22:22
Show Gist options
  • Save herotux/358c5b491b3f85ed278d87c291b13116 to your computer and use it in GitHub Desktop.
Save herotux/358c5b491b3f85ed278d87c291b13116 to your computer and use it in GitHub Desktop.
osmtile by leaflet
<!DOCTYPE html>
<html>
<head>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no' />
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.css" />
<!--[if lte IE 8]>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.ie.css" />
<![endif]-->
<script src="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js"></script>
<style>
body { margin:0; padding:0; background:black; }
#map { position:absolute; top:0; bottom:0; width:100%; background:black; }
</style>
</head>
<body>
<div id='map'></div>
<script type='text/javascript'>
function parseHash(map, hash) {
console.log(location.hash);
if (hash.indexOf('#') === 0) {
hash = hash.substr(1);
}
var args = hash.split('/');
if (args.length >= 3) {
var zoom = parseInt(args[0], 10);
var lat = parseFloat(args[1]);
var lon = parseFloat(args[2]);
if (!isNaN(zoom) && !isNaN(lat) && !isNaN(lon)) {
map.setView([lat, lon], zoom);
return;
}
}
map.setView([38, -100], 14);
}
var map = L.map('map', {zoomAnimation: false});
map.addLayer(L.tileLayer('http://149.56.252.54/tile/{z}/{x}/{y}.png', { maxZoom: 22 }));
parseHash(map, location.hash);
function onMapMove() {
var center = map.getCenter(),
zoom = map.getZoom(),
precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
location.replace("#" + zoom + "/" +
center.lat.toFixed(precision) + "/" +
center.lng.toFixed(precision));
}
map.on("moveend", onMapMove, this);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment