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.