of web mapping, with some history and gifs sprinkled in
Not just on the web, but powered by the web
Involves a computer- a web map is a kind of digital map
Web maps are viewed in a browser
Earth-shattering, online directions engine
Tiles can be a road map,
satellite image,
or anything else
(Location of the tile on a global grid)
Number of tiles at zoom-level z:
x = λ
y = ln(tan φ + sec φ)
where λ is longitude, φ is latitude
ln(tan 90° + sec 90°) = Infinity
WHOA
<html>
<head>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js"></script>
<style type="text/css">
#mapdiv { height: 100%; }
</style>
</head>
<body>
<div id="mapdiv"></div>
<script>
var geojsonFeature = {
"type": "Feature",
"properties": {
"name": "PARISOMA"
},
"geometry": {
"type": "Point",
"coordinates": [-122.41598, 37.77349]
}
};
var mapvar = L.map('mapdiv').setView([37.7706,-122.3782],12);
var tileLayer = L.tileLayer(
'http://{s}.tile.stamen.com/toner/{z}/{x}/{y}.jpg',
{attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under CC BY 3.0. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under CC BY SA.'}
);
mapvar.addLayer(tileLayer);
var geojsonLayer = L.geoJson(
geojsonFeature,
{
onEachFeature: function(feature, layer)
{ layer.bindPopup(feature.properties.name);}
}
);
mapvar.addLayer(geojsonLayer);
</script>
</body>
</html>
Full control over all map elements
Literally everything
More details here: Geo Platform tutorial
the map div
mapping library
"make a map in the div called 'map' "
Add data
Add bathymetry geoJson to map
Style bathymetry geoJson
Restrict zoom levels
Add ports
geoJson to map
Bind popup to each feature
Set marker icon
Add 'areaName' element
Add fishing areas geoJson to map
Add interaction
Style fishing areas transparent
When the mouse enters a fishing area, make it opaque
When the mouse leaves a fishing area, make it transparent again
Custom map tiles
Restrict map bounds (preserves map views)