diff --git a/geofield.module b/geofield.module
index 9b4c76c..79455b9 100644
--- a/geofield.module
+++ b/geofield.module
@@ -150,29 +150,34 @@ function geofield_field_instance_settings_form($field, $instance) {
   $form = array();
   // Add in local solr settings
   if (module_exists('apachesolr')) {
-    $setting = $instance['settings']['localsolr'];
-    $form['localsolr'] = array(
+    $setting = $instance['settings']['solrspatial'];
+    $form['solrspatial'] = array(
       '#type' => 'fieldset',
       '#title' => t('Local Solr Settings'),
       '#tree' => TRUE,
     );
 
-    $form['localsolr']['enabled'] = array(
+    $form['solrspatial']['enabled'] = array(
       '#type' => 'checkbox',
-      '#title' => t('Index field in Local Solr'),
-      '#default_value' => $setting['enabled'],
+      '#title' => t('Index field in Solr for spatial search'),
+      '#default_value' => isset($setting['enabled']) ? $setting['enabled'] : '',
     );
 
-    $form['localsolr']['lat_field'] = array(
+    $form['solrspatial']['lat_field'] = array(
       '#type' => 'textfield',
-      '#title' => t('Name of the Local Solr Latitude Field'),
-      '#default_value' => $setting['lat_field'],
+      '#title' => t('Name of the Solr Latitude Field'),
+      '#default_value' => isset($setting['lat_field']) ? $setting['lat_field'] : '',
     );
 
-    $form['localsolr']['lng_field'] = array(
+    $form['solrspatial']['lng_field'] = array(
       '#type' => 'textfield',
-      '#title' => t('Name of the Local Solr Lonitude Field'),
-      '#default_value' => $setting['lng_field'],
+      '#title' => t('Name of the Solr Lonitude Field'),
+      '#default_value' => isset($setting['lng_field']) ? $setting['lng_field'] : '',
+    );
+    $form['solrspatial']['latlng_field'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Name of the Solr LatLon Field'),
+      '#default_value' => isset($setting['latlng_field']) ? $setting['latlng_field'] : '',
     );
   }
 
@@ -306,24 +311,28 @@ function geofield_apachesolr_field_mappings() {
 /**
  * Name callback for field name
  */
-function geofield_apachesolr_index($node, $field_name, $index_key, $field_info) {
+function geofield_apachesolr_index($entity, $field_name, $index_key, $field_info) {
   $return = array();
-  if (isset($node->$field_name)) {
+  if (isset($entity->$field_name)) {
     // Load the instance settings for the field
-    $instance = field_info_instance('node', $field_name, $node->type);
-    if (!empty($instance['settings']['localsolr'])) {
-      if ($values = field_get_items('node', $node, $field_name)) {
+    $instance = field_info_instance($entity->entityType(), $field_name, $entity->type);
+    if (!empty($instance['settings']['solrspatial'])) {
+      if ($values = field_get_items($entity->entityType(), $entity, $field_name)) {
         $values = reset($values);
         $return = array(
           array(
-            'key' => $instance['settings']['localsolr']['lat_field'],
+            'key' => $instance['settings']['solrspatial']['lat_field'],
             'value' => $values['lat']
           ),
           array(
-            'key' => $instance['settings']['localsolr']['lng_field'],
+            'key' => $instance['settings']['solrspatial']['lng_field'],
             'value' =>  $values['lon']
           ),
           array(
+            'key' => $instance['settings']['solrspatial']['latlng_field'],
+            'value' =>  $values['lat'] . ',' . $values['lon']
+          ),
+          array(
             'key' => 'ss_geo_wkt',
             'value' => $values['wkt'],
           ),
@@ -382,7 +391,7 @@ function geofield_latlon_DMStoDEC($dms) {
   }
 
   // Strip all characters and replace them with empty space
-  $dms = strtr($dms, "°'\"NORTHSEAWnorthseaw'", " ");
+  $dms = strtr($dms, "ï¿½'\"NORTHSEAWnorthseaw'", " ");
   $dms = preg_replace('/\s\s+/', ' ', $dms);
 
   $dms = explode(" ", $dms);
