             .append('title')
                 .text((d)-> d.properties.name + ': ' + format(iso_val(d.id)))
 
+    # Draw map base and load geo data once, and call update to draw countries.
     draw = (selection)->
         svg = selection.append('svg')
             .attr('width', width)

    color_val = (iso3)->
        if data_by_iso[iso3] then colorize(data_by_iso[iso3]) else '#eeeeee'

    clicked = (d)->
        x = null
        y = null

        columns = d3.keys(data[0]).filter(
            (d)-> if d isnt '' and d isnt 'iso3' then d else null).sort()

    # Expose update method.
    geomap.update = ()->
        update()

