Index: src/django_gheat/wlheatmap/feature.py
===================================================================
--- src/django_gheat/wlheatmap/feature.py	(revision 9594)
+++ src/django_gheat/wlheatmap/feature.py	(revision 9596)
@@ -13,4 +13,5 @@
         "properties": {
           'name' : node.name,
+          'color' : 'rgb(0,255,0)',
         },
         "geometry": {
Index: src/django_gheat/wlheatmap/filters.py
===================================================================
--- src/django_gheat/wlheatmap/filters.py	(revision 9594)
+++ src/django_gheat/wlheatmap/filters.py	(revision 9596)
@@ -20,5 +20,5 @@
       # Get list if accespoints found in the specific 'Meting', and make this is list.
       wirelessleiden_ssid = Meting.objects.filter(meetrondje=mr,
-        accespoint__organization__name='WirelessLeiden').\
+        accespoint__organization__name__startswith='Wireless').\
         values_list('accespoint__ssid',flat=True).\
         order_by('accespoint__ssid').distinct()
Index: src/django_gheat/wlheatmap/nodelist.py
===================================================================
--- src/django_gheat/wlheatmap/nodelist.py	(revision 9594)
+++ src/django_gheat/wlheatmap/nodelist.py	(revision 9596)
@@ -40,5 +40,5 @@
   filter = {}
   filter.update({
-    'organization__name' : 'WirelessLeiden',
+    'organization__name__startswith' : 'Wireless',
     'meting__latitude__lt' : maxlat,
     'meting__longitude__lt' : maxlon,
Index: src/django_gheat/wlheatmap/static/heatmap.js
===================================================================
--- src/django_gheat/wlheatmap/static/heatmap.js	(revision 9594)
+++ src/django_gheat/wlheatmap/static/heatmap.js	(revision 9596)
@@ -69,34 +69,6 @@
   //map.addLayer(layerHeatmap);
 
-  // create the layer styleMap by giving the default style a context
-  var colors = ["red", "green", "blue"];
-  var context = {
-      getSize: function(feature) {
-        var resolution = map.getResolution();
-        var scale = map.getZoom();
-        var base = 1;
-        if (scale > 16) {
-          base = 5;
-        } else if (scale > 14) {
-          base = 20;
-        } else {
-          base = 50;
-        }
-        return (base / map.getResolution());
-      }
-  };
-  var template = {
-      pointRadius: "${getSize}", // using context.getSize(feature)
-      fillColor: "lightgreen", // using context.getColor(feature)
-      strokeWidth: 0.5,
-  };
-  var style = new OpenLayers.Style(template, {context: context});
-  var geojson = new OpenLayers.Layer.GML("GeoJSON", "feature/nodes.json", {
-    projection: new OpenLayers.Projection("EPSG:4326"),
-    styleMap: new OpenLayers.StyleMap(style),
-    format: OpenLayers.Format.GeoJSON
-      });
-  map.addLayer(geojson);
-
+  var nodesLayer = new OpenLayers.Layer.GML.NodesOverlay("Node Locations", "feature/nodes.json", {isBaseLayer: false, visibility: true});
+  map.addLayer(nodesLayer);
 
   var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
@@ -117,3 +89,5 @@
   $("#default").append("<span id=\"" + layerHeatmap3.name + "\"><div id='layer_switcher_colour' style='background-color:rgb(" + layerHeatmap3.colour + ")' /><input type=checkbox id=togglelayer checked/><font>" + layerHeatmap3.name + " </font><br /></span>");
 
+  $("#features").append("<span id=\"" + nodesLayer.name + "\"><div id='layer_switcher_colour' style='background-color:rgb(" + nodesLayer.colour + ")' /><input type=checkbox id=togglelayer checked/><font>" + nodesLayer.name + " </font><br /></span>");
+
 }
Index: src/django_gheat/wlheatmap/templates/js/LayerBase.js
===================================================================
--- src/django_gheat/wlheatmap/templates/js/LayerBase.js	(revision 9594)
+++ src/django_gheat/wlheatmap/templates/js/LayerBase.js	(revision 9596)
@@ -184,5 +184,5 @@
     initialize: function(name, options) {
         var url = get_balanced_urls('http://', {{ settings.DJANGO_CDN_DOMAINS|safe }},
-          '{{ settings.DJANGO_PREFIX }}/wlheatmap/tile/${z}/${x},${y}.png?colour=255,0,0&accespoint__organization__name=WirelessLeiden');
+          '{{ settings.DJANGO_PREFIX }}/wlheatmap/tile/${z}/${x},${y}.png?colour=255,0,0&accespoint__organization__name__startswith=Wireless');
         options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
         var newArguments = [name, url, options];
@@ -207,2 +207,46 @@
   CLASS_NAME: "OpenLayers.Layer.Overlay"
 });
+
+var foo;
+
+// create the layer styleMap by giving the default style a context
+var context = {
+    getSize: function(feature) {
+      var resolution = map.getResolution();
+      var scale = map.getZoom();
+      var base = 1;
+      if (scale > 16) {
+        base = 5;
+      } else if (scale > 14) {
+        base = 20;
+      } else {
+        base = 50;
+      }
+      return (base / map.getResolution());
+    },
+    getColor: function(feature) {
+      return feature.attributes.color;
+
+    }
+};
+var template = {
+    pointRadius: "${getSize}", // using context.getSize(feature)
+    fillColor: "${getColor}", // using context.getColor(feature)
+    strokeWidth: 0.5,
+};
+var nodesStyle = new OpenLayers.Style(template, {context: context});
+
+OpenLayers.Layer.GML.NodesOverlay = OpenLayers.Class(OpenLayers.Layer.GML, {
+    initialize: function(name, options) {
+        var url = "{% url wlheatmap.feature.nodes_json %}";
+        options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
+        var newArguments = [name, url, options];
+        OpenLayers.Layer.GML.prototype.initialize.apply(this, newArguments);
+    },
+    colour: '0,255,0',
+    projection: new OpenLayers.Projection("EPSG:4326"),
+    styleMap: new OpenLayers.StyleMap(nodesStyle),
+    format: OpenLayers.Format.GeoJSON,
+    CLASS_NAME: "OpenLayers.Layer.Overlay"
+});
+
