An Angular directive for reusable web maps using D3 and GeoJSON