diff --git a/handlers/geolocation_proximity_views_handler_filter_distance.inc b/handlers/geolocation_proximity_views_handler_filter_distance.inc
index 07d3e709045e2aa8f3cbf169a3928eed17dd14e8..90d659ab6f8a9f599d07a36a22b4cd4a5382fc33 100644
--- a/handlers/geolocation_proximity_views_handler_filter_distance.inc
+++ b/handlers/geolocation_proximity_views_handler_filter_distance.inc
@@ -160,7 +160,7 @@ class geolocation_proximity_views_handler_filter_distance extends views_handler_
         // Attach CSS and JS files via FAPI '#attached'.
         $form['value']['googlemap']['googlemap']['#attached']['css'][] = drupal_get_path('module', 'geolocation_googlemaps') . '/geolocation_googlemaps.css';
         $form['value']['googlemap']['googlemap']['#attached']['js'][] = array(
-          'data' => '//maps.google.com/maps/api/js?sensor=false',
+          'data' => '//maps.google.com/maps/api/js?' . $this->get_api_query_string(),
           'type' => 'external',
         );
         $form['value']['googlemap']['googlemap']['#attached']['js'][] = array(
@@ -300,4 +300,16 @@ class geolocation_proximity_views_handler_filter_distance extends views_handler_
     $this->query->add_field(NULL, $sql, $this->field_alias);
     $this->query->add_having_expression($this->options['group'], '(' . $this->field_alias . ' IS NULL) OR (' . $this->field_alias . $this->operator . $filter_distance . ')');
   }
+
+  /**
+   * Returns query string for API requests with API key defined in geolocation module.
+   */
+  function get_api_query_string() {
+    $data['sensor'] = 'false';
+    $api_key = variable_get('geolocation_googlemaps_api_key', '');
+    if (!empty($api_key)) {
+      $data['key'] = $api_key;
+    }
+    return drupal_http_build_query($data);
+  }
 }
