Index: src/django_gheat/website/nodelist.py
===================================================================
--- src/django_gheat/website/nodelist.py	(revision 9197)
+++ src/django_gheat/website/nodelist.py	(revision 9201)
@@ -11,4 +11,5 @@
 from django.core import serializers
 from gheat.models import *
+from gheat import gmerc
 import logging
 import pygame
@@ -16,10 +17,29 @@
 import tempfile
 
+def get_bounds(zoom,lat,lon):
+
+  # Getting max radius for zoomlevel. Note that it will make a square using this, not a circle.
+  SIZE = 250
+  tile_height = float(40008000) / (2 ** zoom)
+  meters_per_pixel = float(tile_height) / SIZE
+  radius = 150 / meters_per_pixel
+
+  # Getting pixel location for mouseposition
+  mouse_x, mouse_y = gmerc.ll2px(lat,lon,zoom)
+  
+  max_x = int(mouse_x + radius)
+  max_y = int(mouse_y + radius)
+  min_x = int(mouse_x - radius)
+  min_y = int(mouse_y - radius)
+
+  max_lat, max_lon = gmerc.px2ll(max_x, min_y, zoom)
+  min_lat, min_lon = gmerc.px2ll(min_x, max_y, zoom)
+
+  return (max_lat, max_lon, min_lat, min_lon)
+
+
 def make_list(zoom,lat,lon):
 
-  maxlat = (lat + 0.01)
-  maxlon = (lon + 0.01)
-  minlat = (lat - 0.01)
-  minlon = (lon - 0.01)
+  maxlat, maxlon, minlat, minlon = get_bounds(zoom,lat,lon)
 
   filter = {}
@@ -37,6 +57,6 @@
   return nodelist
 
+
 def serve_nodelist(request,zoom,lat,lon,):
-  html = make_list(int(zoom), float(lat), float(lon))
-  return HttpResponse(html, content_type = 'application/javascript; charset=utf8')
-
+  nodelist = make_list(int(zoom), float(lat), float(lon))
+  return HttpResponse(nodelist, content_type = 'application/javascript; charset=utf8')
Index: src/django_gheat/website/static/heatmap.js
===================================================================
--- src/django_gheat/website/static/heatmap.js	(revision 9197)
+++ src/django_gheat/website/static/heatmap.js	(revision 9201)
@@ -19,5 +19,5 @@
 	});
 
-	map.events.register('click', map, GetMousePos);
+	map.events.register('mouseover', map, GetMousePos);
 	function GetMousePos(pos) {
 		var pix = map.getLonLatFromPixel(new OpenLayers.Pixel(pos.xy.x,pos.xy.y));
