This example uses d3.behavior.zoom with a dynamic projection for map panning and zooming. This approach is slower than using a transform or transforming pre-projected geometry because it requires reprojecting whenever the zoom changes.
Changed /mbostock/raw/4090846/world-110m.json to a local referenece
https://d3js.org/d3.v3.min.js
https://d3js.org/topojson.v1.min.js