chart = {
const width = 960,
height = 450;
const svg = d3.create("svg")
.attr("viewBox", [-100, -100, width+200, height+200]);
var projection = d3
.geoMercator()
.fitSize([width - 50, height - 50], bbox);
var path1 = d3.geoPath().projection(projection);
var path2 = d3.geoPath().projection(projection);
var path3 = d3.geoPath().projection(projection);
var path4 = d3.geoPath().projection(projection);
var g = svg.append("g").attr("id", "paths");
var p = svg.selectAll("polyline")
.data(test1)
.enter()
.append("polyline")
.attr("points", function(d) {return d})
.style('fill','white')
.style("stroke", 'white')
p.enter().append("polyline")
.data(Border)
.enter()
.append("polyline")
.attr("points", function(d) {return d})
.style('fill','none')
.style("stroke", 'white')
p.enter().append("polyline")
.data(Base)
.enter()
.append("polyline")
.attr("points", function(d) {return d})
.style('fill','none')
.style("stroke", 'black')
p.enter().append("polyline")
.data(Trucks)
.enter()
.append("polyline")
.attr("points", function(d) {return d})
.style('fill','none')
.style("stroke", 'black')
p.enter().append("polyline")
.data(Proposal)
.enter()
.append("polyline")
.attr("points", function(d) {return d})
.style('fill','cyan')
.style("stroke", 'black')
.on('mouseover',proposalText)
.on('mouseout',deltext)
svg
.append("text")
.attr('x','-15')
.attr('y','-40')
.text('Koyambedu Market Layout')
.style('font-size','25px')
.style('font-weight','bold')
.style('background-color','white')
function proposalText(event,d){
svg
.append("text")
.attr('x','10')
.attr('y','40')
.attr('class','hydrant_info')
.text('Proposed Refrigerated/Ventilated Storage')
.style('font-size','12px')
}
function deltext(){
d3.selectAll("text.hydrant_info").remove()
}
return svg.node();
}