d3 tree click centre

Render a tree, listen to click events and centre where clicked

by Nivaldo

HTML

<div id="map_holder"></div>

CSS

path.link {
    fill: none;
    stroke: #ccc;
    stroke-width: 1.5px;
}
text {
    font: 14px sans-serif;
    cursor:pointer;
}

circle {
     cursor: pointer;   
}
}

JavaScript

var json_data = {
    "id": 1,
        "name": "CollaboTree",
        "size": 73,
        "children": [{
        "id": 7,
            "name": "Development",
            "size": 11,
            "children": [{
            "id": 8,
                "name": "Git?",
                "size": 0,
                "children": []
        }, {
            "id": 17,
                "name": "Points",
                "size": 0,
                "children": []
        }, {
            "id": 18,
                "name": "Activity",
                "size": 0,
                "children": []
        }, {
            "id": 104,
                "name": "Profiles",
                "size": 0,
                "children": []
        }, {
            "id": 114,
                "name": "Drop Box",
                "size": 0,
                "children": []
        }]
    }, {
        "id": 23,
            "name": "Concept",
            "size": 12,
            "children": [{
            "id": 81,
                "name": "Lifecycle",
                "size": 2,
                "children": []
        }, {
            "id": 99,
                "name": "Similar sites",
                "size": 0,
                "children": []
        }, {
            "id": 100,
                "name": "Closed projects",
                "size": 1,
                "children": []
        }]
    }, {
        "id": 3,
            "name": "Design",
            "size": 27,
            "children": [{
            "id": 4,
                "name": "Logo",
                "size": 4,
                "children": [{
                "id": 16,
                    "name": "Tree?",
                    "size": 1,
                    "children": []
            }]
        }, {
            "id": 12,
                "name": "Site Theme",
                "size": 1,
                "children": []
        }, {
            "id": 15,
                "name": "UX",
                "size": 10,
                "children": [{
                "id": 29,
...