17
<script src="../../d3.v2.js"></script>
21
var margin = {top: 0, right: 0, bottom: 0, left: 0},
22
width = 960 - margin.left - margin.right,
23
height = 500 - margin.top - margin.bottom;
25
var projection = d3.geo.mercator()
27
.translate([width / 2, height / 2]);
29
var path = d3.geo.path()
30
.projection(projection);
32
var zoom = d3.behavior.zoom()
33
.translate(projection.translate())
34
.scale(projection.scale())
35
.scaleExtent([height, 8 * height])
38
var svg = d3.select("body").append("svg")
39
.attr("width", width + margin.left + margin.right)
40
.attr("height", height + margin.top + margin.bottom)
42
.attr("transform", "translate(" + margin.left + "," + margin.top + ")")
45
var g = svg.append("g"),
46
feature = g.selectAll(".feature");
49
.attr("class", "frame")
51
.attr("height", height);
53
d3.json("../data/world-countries.json", function(collection) {
55
.data(collection.features)
56
.enter().append("path")
57
.attr("class", "feature")
62
var t = d3.event.translate,
64
t[0] = Math.max(-s / 2, Math.min(width + s / 2, t[0]));
65
t[1] = Math.max(-s / 2, Math.min(height + s / 2, t[1]));
67
projection.translate(t).scale(s);
68
feature.attr("d", path);