westdc-zf1/htdocs/js/timemap.2.0.1/examples/test.html

151 lines
5.6 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Filter Example</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAASI0kCI-azC8RgbOZzWc3VRRarOQe_TKf_51Omf6UUSOFm7EABRRhO0PO4nBAO9FCmVDuowVwROLo3w"
type="text/javascript"></script>
<script type="text/javascript" src="../lib/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="../lib/mxn/mxn.js?(google)"></script>
<script type="text/javascript" src="../lib/timeline-2.3.0.js"></script>
<script src="../src/timemap.js" type="text/javascript"></script>
<script src="../src/manipulation.js" type="text/javascript"></script>
<script type="text/javascript">
var tm;
$(function() {
tm = TimeMap.init({
mapId: "map", // Id of map div element (required)
timelineId: "timeline", // Id of timeline div element (required)
datasets: [
{
id: "artists",
title: "Artists",
type: "basic",
options: {
items: [
{
"start" : "1449-01-01",
"end" : "1492-04-09",
"point" : {
"lat" : 43.76849063719358,
"lon" : 11.25575065612793
},
"title" : "Lorenzo de' Medici",
"options" : {
description: "tags: ['patron']",
tags: ['patron']
}
},
{
"start" : "1449",
"end" : "1494-01-11",
"point" : {
"lat" : 43.7,
"lon" : 11.28
},
"title" : "Domenico Ghirlandaio",
"options" : {
theme: 'orange',
description: "tags: ['painter']",
tags: ['painter']
}
},
{
"start" : "1452",
"end" : "1519",
"point" : {
"lat" : 43.8166666667,
"lon" : 10.7666666667
},
"title" : "Leonardo da Vinci",
"options" : {
theme: 'blue',
description: "tags: ['painter','sculptor','inventor']",
tags: ['painter','sculptor','inventor']
}
},
{
"start" : "1475",
"end" : "1564",
"point" : {
"lat" : 43.6433,
"lon" : 11.9875
},
"title" : "Michelangelo",
"options" : {
theme: 'green',
description: "tags: ['painter','sculptor']",
tags: ['painter','sculptor']
}
}
]
}
}
],
bandIntervals: [
Timeline.DateTime.DECADE,
Timeline.DateTime.CENTURY
]
});
// filter function for tags
var hasSelectedTag = function(item) {
console.log(item.opts.tags.indexOf(window.selectedTag));
// if no tag was selected, everything passes
return !window.selectedTag || (
// item has tags?
item.opts.tags &&
// tag found? (note - will work in IE; Timemap extends the Array prototype if necessary)
item.opts.tags.indexOf(window.selectedTag) >= 0
);
};
// add our new function to the map and timeline filters
tm.addFilter("map", hasSelectedTag); // hide map markers on fail
tm.addFilter("timeline", hasSelectedTag); // hide timeline events on fail
// onChange handler for pulldown menu
$('#tag_select').change(function() {
window.selectedTag = $(this).val();
// run filters
tm.filter('map');
tm.filter('timeline');
});
});
</script>
<link href="examples.css" type="text/css" rel="stylesheet"/>
<style>
div#timelinecontainer{ height: 300px; }
div#mapcontainer{ height: 300px; }
</style>
</head>
<body>
<div id="help">
<h1>Filters</h1>
In this example, we've loaded a set of tags for each item, and can use this dropdown menu to filter based on tags:
<form>
<select id="tag_select">
<option value="">All tags</option>
<option value="painter">painter</option>
<option value="sculptor">sculptor</option>
<option value="inventor">inventor</option>
<option value="patron">patron</option>
</select>
</form>
</div>
<div id="timemap">
<div id="timelinecontainer">
<div id="timeline"></div>
</div>
<div id="mapcontainer">
<div id="map"></div>
</div>
</div>
</body>
</html>