Index: location/handlers/location_views_handler_filter_proximity.inc
===================================================================
--- location/handlers/location_views_handler_filter_proximity.inc	(revision 6812)
+++ location/handlers/location_views_handler_filter_proximity.inc	(working copy)
@@ -88,6 +88,9 @@
     if (module_exists('gmap')) {
       $form['origin']['#options']['latlon_gmap'] = t('Latitude / Longitude input (use map)');
     }
+    if (module_exists('geoip')) {
+      $form['origin']['#options']['geoip'] = t("User's IP address (GeoIP lookup)");
+    }
 
     // [11:44] <merlinofchaos> If you load the page from scratch, $input for your identifier will be empty.
     // [11:44] <merlinofchaos> So what's going on here is that for $_GET forms, there's no form id, no op button or anything, so they always appear to submit.
Index: location/location.views.inc
===================================================================
--- location/location.views.inc	(revision 6812)
+++ location/location.views.inc	(working copy)
@@ -541,6 +541,12 @@
         }
       }
       break;
+   case 'geoip':
+      if ($geoip_location = geoip_city()) {
+          $coordinates['latitude'] = (float) $geoip_location->latitude;
+          $coordinates['longitude'] = (float) $geoip_location->longitude;
+     }
+     break;
   }
 
   return $coordinates;
