diff --git a/README.txt b/README.txt
index f717b77..a99d5bb 100644
--- a/README.txt
+++ b/README.txt
@@ -4,7 +4,7 @@ Download the leaflet library from: http://leafletjs.com/download.html
 Alternatively, you can build the library from source. If so, follow the
 instructions at: http://leafletjs.com/download.html#leaflet-source-code
 
-Maps can be rendered via the included field formatter for Geofield, by using the
+Maps can be rendered via the included field formatter for Geofield or Location field, by using the
 API directly, or by taking advantage of an additional module, like
 http://drupal.org/project/ip_geoloc
 
@@ -81,10 +81,10 @@ Views integration
 
 To render a map using Views, enable the module leaflet_views.
 
-You need to add at least one geofield to the Fields list, and select the Leaflet Map style
+You need to add at least one geofield or location field to the Fields list, and select the Leaflet Map style
 in Format.
 
-In the settings of the style, select the geofield as the Data Source and select a field for Title
+In the settings of the style, select the geofield or location field as the Data Source and select a field for Title
 and Description (which will be rendered in the popup).
 
 As a more powerful alternative, you can use node view modes to be rendered in the popup.
diff --git a/leaflet.formatters.inc b/leaflet.formatters.inc
index 4c5242d..a243eb2 100644
--- a/leaflet.formatters.inc
+++ b/leaflet.formatters.inc
@@ -64,7 +64,13 @@ function leaflet_field_formatter_info() {
       ),
     );
   }
-
+  if (module_exists('location_cck')) {
+    $formatters['location_cck_leaflet'] = array(
+      'label' => t('Leaflet'),
+      'field types' => array('location'),
+      'settings' => array('leaflet_map' => '', 'icon' => '', 'height' => 400, 'popup' => 0),
+    );
+  }
   return $formatters;
 }
 
@@ -78,7 +84,7 @@ function leaflet_field_formatter_settings_form($field, $instance, $view_mode, $f
 
   $element = array();
 
-  if ($display['type'] == 'geofield_leaflet') {
+  if (in_array($display['type'], array('geofield_leaflet', 'location_cck_leaflet'))) {
     $options = array('' => t('-- Select --'));
     foreach (leaflet_map_get_info() as $key => $map) {
       $options[$key] = $map['label'];
@@ -133,8 +139,9 @@ function leaflet_field_formatter_settings_summary($field, $instance, $view_mode)
 
   $summary = '';
 
-  if ($display['type'] == 'geofield_leaflet') {
-    $summary = t('Leaflet map: @map', array('@map' => $settings['leaflet_map']));
+  if (in_array($display['type'], array('geofield_leaflet', 'location_cck_leaflet'))) {
+
+      $summary = t('Leaflet map: @map', array('@map' => $settings['leaflet_map']));
   }
 
   return $summary;
@@ -161,6 +168,18 @@ function leaflet_field_formatter_view($entity_type, $entity, $field, $instance,
         leaflet_apply_map_settings($map, $features, $settings, $entity_type);
         $element[0] = leaflet_build_map($map, $features, $settings['height'] . 'px');
         break;
+      case 'location_cck_leaflet':
+        $map = leaflet_map_get_info($settings['leaflet_map']);
+
+        if ($display['type'] == 'location_cck_leaflet') {
+          $features = leaflet_process_location($items);
+        }
+        foreach ($features as &$feat) {
+          $feat['entity'] = $entity;
+        }
+        leaflet_apply_map_settings($map, $features, $settings, $entity_type);
+        $element[0] = leaflet_build_map($map, $features, $settings['height'] . 'px');
+        break;
     }
 
     return $element;
@@ -180,6 +199,8 @@ function leaflet_field_formatter_view($entity_type, $entity, $field, $instance,
 function leaflet_process_geofield($items = array()) {
   $data = array();
 
+  // Function requires geophp module.
+  /*
   geophp_load();
 
   foreach ($items as $delta => $item) {
@@ -334,6 +355,32 @@ function leaflet_process_geofield($items = array()) {
     }
   }
 
+  */
+  return $data;
+}
+
+/**
+ * Convert a location field into an array of map points for consumption by the
+ * leaflet module as expected by leaflet_render_map().
+ *
+ * @param array $items
+ *   A collection of location field values.
+ *
+ * @return array
+ */
+function leaflet_process_location($items = array()) {
+  $data = array();
+  $points = array();
+  foreach ($items as $delta => $item) {
+    if (is_array($item) && isset($item['latitude']) && isset($item['longitude'])) {
+      $datum = array('type' => 'point');
+      $datum += array(
+        'lat' => (float) $item['latitude'],
+        'lon' => (float) $item['longitude'],
+      );
+      $data[] = $datum;
+    }
+  }
   return $data;
 }
 
diff --git a/leaflet.module b/leaflet.module
index 74ada78..322ea83 100644
--- a/leaflet.module
+++ b/leaflet.module
@@ -52,11 +52,12 @@ function leaflet_libraries_info() {
     'name' => 'Leaflet JavaScript Library',
     'vendor url' => 'http://leafletjs.com/',
     'download url' => 'http://cdn.leafletjs.com/leaflet/v1.0.2/leaflet.zip',
-    'version arguments' => array(
-      'file' => 'leaflet.js',
-      // Handle patterns like  version: "1.0.2+4bbb16c"
-      'pattern' => '/version[=: ]*[\'"]([\d+\.]+[\-a-z\.\d]*)[\'"]/',
-    ),
+    'version' => 0,
+    //'version arguments' => array(
+    //  'file' => 'leaflet.js',
+    //  // Handle patterns like  version: "1.0.2+4bbb16c"
+    //  'pattern' => '/version[=: ]*[\'"]([\d+\.]+[\-a-z\.\d]*)[\'"]/',
+    //),
     'files' => array(
       'js' => array(
         // This setting is needed in order to properly render market images.
diff --git a/leaflet_views/leaflet_views.info b/leaflet_views/leaflet_views.info
index 3f220d3..57ca5d7 100644
--- a/leaflet_views/leaflet_views.info
+++ b/leaflet_views/leaflet_views.info
@@ -2,7 +2,6 @@ name = Leaflet views
 description = Views integration for the Leaflet module.
 core = 7.x
 dependencies[] = leaflet
-dependencies[] = geofield
 dependencies[] = views
 dependencies[] = entity
 files[] = leaflet_views.views.inc
diff --git a/leaflet_views/leaflet_views_plugin_style.inc b/leaflet_views/leaflet_views_plugin_style.inc
index 10fdd39..2d47c77 100644
--- a/leaflet_views/leaflet_views_plugin_style.inc
+++ b/leaflet_views/leaflet_views_plugin_style.inc
@@ -126,7 +126,7 @@ class leaflet_views_plugin_style extends views_plugin_style {
     foreach ($handlers as $field_id => $handler) {
       $fields[$field_id] = $handler->ui_name();
 
-      if (!empty($handler->field_info['type']) && $handler->field_info['type'] == 'geofield') {
+      if (!empty($handler->field_info['type']) && ($handler->field_info['type'] == 'geofield' || $handler->field_info['type'] == 'location')) {
         $fields_data[$field_id] = $handler->ui_name();
       }
     }
@@ -134,7 +134,7 @@ class leaflet_views_plugin_style extends views_plugin_style {
     // Check whether we have a geofield we can work with:
     if (!count($fields_data)) {
       $form['error'] = array(
-        '#markup' => t('Please add at least one geofield to the view'),
+        '#markup' => t('Please add at least one geofield or location field to the view'),
       );
       return;
     }
@@ -286,6 +286,8 @@ class leaflet_views_plugin_style extends views_plugin_style {
     $map = leaflet_map_get_info($this->options['map']);
     // Is there a geofield selected?
     if ($this->options['data_source']) {
+      $field_info = field_info_field($this->options['data_source']);
+      $field_type = $field_info['type'];
       $name_field = empty($this->options['name_field']) ? NULL : $this->options['name_field'];
       $this->render_fields($this->view->result);
       foreach ($this->view->result as $id => $result) {
@@ -322,7 +324,17 @@ class leaflet_views_plugin_style extends views_plugin_style {
               }
             }
           }
-          $points = leaflet_process_geofield($geofield);
+          switch ($field_type) {
+            case 'geofield':
+              $points = leaflet_process_geofield($geofield);
+              break;
+            case 'location':
+              $points = leaflet_process_location($geofield);
+              break;
+            default:
+              $points = [];
+          }
+
           // Attach pop-ups if we have rendered into $description:
           if (isset($description)) {
             foreach ($points as &$point) {
