--- openlayers_proximity.rules.inc	2010-12-28 18:44:36.000000000 +0000
+++ new-openlayers_proximity.rules.inc	2010-12-28 18:44:30.000000000 +0000
@@ -41,11 +41,14 @@ function openlayers_proximity_action_not
  list($view, $display_id, $filter_id) = explode('-', $settings['display']);
  
  if ($view = views_get_view($view)) {
-   $view->build($display_id);
-   $filter = $view->display_handler->get_handler('filter', $filter_id);
-   $filter->options['location_as'] = 'node';
-   $filter->value['node'] = $nodeA->nid;
-   $view->display_handler->execute();
+   $display_id = 'default'; // chose the display type
+   $view->set_display($display_id);
+   $view->is_cacheable = FALSE;
+   $item = $view->get_item($display_id, 'filter', 'circle');// telling the view that we are fetching filter.  distance is the filter name. We can check the filter name from view export as well.
+   $item['value'] = array('value' => '30', 'min' => '', 'max' => '', 'location' => '', 'node' => $nodeA->nid, 'unit' => 'miles'); // passing values to all the exposed filter. We can pass other options like operator etc (not just value) as well.
+   $view->set_item($display_id, 'filter', 'circle', $item); // set item
+   $view->is_cacheable = FALSE;
+   $view->render(); // render
    
    if ($view->result) {
      foreach ($view->result as $row) {
