Files
iD/index.html
2012-10-24 15:59:09 -04:00

150 lines
5.5 KiB
HTML
Executable File

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>iD</title>
<link rel="stylesheet" href="css/map.css">
<link rel="stylesheet" href="css/app.css">
</head>
<body>
<script type="text/javascript" src="js/lib/underscore-min.js"></script>
<script type="text/javascript" src="js/lib/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/lib/d3.v2.min.js"></script>
<script type="text/javascript" src="js/iD/actions/UndoStack.js"></script>
<script type="text/javascript" src="js/iD/Util.js"></script>
<script type="text/javascript" src="js/iD/Taginfo.js"></script>
<script type="text/javascript" src="js/iD/controller/controller.js"></script>
<script type="text/javascript" src="js/iD/controller/edit/edit.js"></script>
<script type="text/javascript" src="js/iD/controller/edit/EditBaseState.js"></script>
<script type="text/javascript" src="js/iD/controller/edit/NoSelection.js"></script>
<script type="text/javascript" src="js/iD/controller/edit/SelectedPOINode.js"></script>
<script type="text/javascript" src="js/iD/controller/edit/SelectedWay.js"></script>
<script type="text/javascript" src="js/iD/controller/edit/SelectedWayNode.js"></script>
<script type="text/javascript" src="js/iD/renderer/renderer.js"></script>
<script type="text/javascript" src="js/iD/renderer/Map.js"></script>
<script type="text/javascript" src="js/iD/Node.js"></script>
<script type="text/javascript" src="js/iD/Relation.js"></script>
<script type="text/javascript" src="js/iD/Entity.js"></script>
<script type="text/javascript" src="js/iD/Way.js"></script>
<script type="text/javascript" src="js/iD/Connection.js"></script>
<script type="text/javascript" src="js/iD/Controller.js"></script>
<div id='modebuttons'>
<button id='add-place'>
+ Place</button><button id="add-road">
+ Road</button><button id="add-area">
+ Area</button><button class='mini' id="undo">
&larr;</button><button class='mini' id="redo">
&rarr;</button><form id='geocode-form'><input type='text' id='geocode-location' placeholder='find a place' />
</form>
</div>
<div id="zoombuttons">
<button id="zoomIn">+</button><button id="zoomOut">&ndash;</button>
</div>
<!-- Floating edit pane -->
<div class='edit-pane'>
<h2>&nbsp;</h2>
<a class='close' href='#close'>&times;</a>
<div class='hud tags'>
<table>
<thead>
<tr>
<th>Key</th>
<th>Value</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div class='hud presets'></div>
</div>
</div>
<div id="map"></div>
<div id='about'>
<p>Work in progress: <a href='http://www.geowiki.com/'>introduction</a>,
<a href='http://github.com/systemed/iD'>code</a>,
<a href='http://www.geowiki.com/docs'>docs</a>.
Imagery <a href="http://opengeodata.org/microsoft-imagery-details">&copy; 2012</a> Bing, GeoEye, Getmapping, Intermap, Microsoft.</p>
</div>
</div>
<script>
var connection = new iD.Connection("http://www.overpass-api.de/api/xapi?");
// Initialise map
var map = iD.renderer.Map({
selector: "#map",
connection: connection,
width: $(document).width(),
height: $(document).height()
});
map.setZoom(18)
.setCentre({ lat: 40.796, lon: -74.691 });
// ----------------------------------------------------
// Data is loaded and app ready to go
// Set initial controllerState
map.controller.setState(new iD.controller.edit.NoSelection());
// ----------------------------------------------------
// Mode button handlers
d3.select('#add-place').on('click', function() {
map.controller.setState(new iD.controller.shape.NoSelection('node'));
});
d3.select('#add-road').on('click', function() {
map.controller.setState(new iD.controller.shape.NoSelection('way'));
});
d3.select('#add-area').on('click', function() {
map.controller.setState(new iD.controller.shape.NoSelection());
});
d3.select('#geocode-form').on('submit', function() {
d3.event.preventDefault();
var val = d3.select('#geocode-location').node().value;
$.ajax({
url: 'http://api.tiles.mapbox.com/v3/mapbox/geocode/' +
encodeURIComponent(val) + '.jsonp',
dataType: 'jsonp',
jsonpCallback: 'grid',
success: function(resp) {
map.setCentre({
lon: resp.results[0][0].lon,
lat: resp.results[0][0].lat
});
}
});
});
$('#undo').click(function() {
map.controller.undoStack.undo();
map.updateUIs(true, true);
});
$('#redo').click(function() {
controller.undoStack.redo();
map.updateUIs(true, true);
});
// ----------------------------------------------------
// Map control handlers
$('#zoomIn').click(function() {
map.zoomIn();
});
$('#zoomOut').click(function() {
map.zoomOut();
});
</script>
</body>
</html>