Index: parser_ical.dateapi.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/parser_ical/parser_ical.dateapi.inc,v
retrieving revision 1.4
diff -u -p -r1.4 parser_ical.dateapi.inc
--- parser_ical.dateapi.inc	19 Jan 2010 11:55:42 -0000	1.4
+++ parser_ical.dateapi.inc	5 Feb 2010 06:55:38 -0000
@@ -51,7 +51,14 @@ function _parser_ical_parse($feed_conten
 
       $item['guid'] = isset($event['UID']) ? $event['UID'] : ''; // intention
       $item['tags'] = isset($event['CATEGORIES']) ? explode(',', $event['CATEGORIES']) : array();
-      $item['ical_date'] = new ParserIcalDateTimeElement($event);
+      $item['ical_date'] = new ParserIcalDateTimeElement($event);      
+      if (isset($event['GEO'])) {
+        list($latitude, $longitude) = explode(';', $event['GEO']);
+        $item['ical_geo']  = array('latitude' => $latitude, 'longitude' => $longitude);
+      }
+      else {
+        $item['ical_geo']  = array();
+      }
       $parsed_source['items'][] = $item;
     }
   }
Index: parser_ical.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/parser_ical/parser_ical.module,v
retrieving revision 1.5
diff -u -p -r1.5 parser_ical.module
--- parser_ical.module	19 Jan 2010 11:55:42 -0000	1.5
+++ parser_ical.module	5 Feb 2010 06:55:38 -0000
@@ -39,6 +39,33 @@ function parser_ical_feeds_plugins() {
 }
 
 /**
+ * Implementation of hook_feeds_node_processor_targets_alter().
+ */
+function parser_ical_feeds_node_processor_targets_alter(&$targets, $content_type) {
+  $info = content_types($content_type);
+  if (module_exists('location')) {
+    $settings = variable_get('location_settings_node_'. $content_type, array());
+    if ($settings['multiple']['max'] > 0) {
+      $targets['location_single_latlon'] = array(
+        'name' => 'Location: Latitude/Longitude',
+        'callback' => 'parser_ical_feeds_set_target',
+        'description' => t('Location module Latitude/Longitude settings.'),
+      );
+    }
+  }
+}
+
+/**
+ * Mapping function for Parser iCal targets
+ */
+function parser_ical_feeds_set_target($node, $target, $value) {
+  if ($target == 'location_single_latlon') {
+    $node->locations[0]['latitude']  = $value['latitude'];
+    $node->locations[0]['longitude'] = $value['longitude'];
+  }
+}
+
+/**
  * Implementation of hook_help().
  */
 function parser_ical_help($path, $arg) {
Index: includes/ParserIcalFeedsParser.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/parser_ical/includes/ParserIcalFeedsParser.inc,v
retrieving revision 1.1
diff -u -p -r1.1 ParserIcalFeedsParser.inc
--- includes/ParserIcalFeedsParser.inc	19 Jan 2010 11:55:42 -0000	1.1
+++ includes/ParserIcalFeedsParser.inc	5 Feb 2010 06:55:38 -0000
@@ -154,6 +154,10 @@ class ParserIcalFeedsParser extends Feed
          'name' => t('iCal Date'),
          'description' => t('iCal date associated with item as an array.'),
       ),
+      'ical_geo' => array(
+         'name' => t('iCal Geo (lat/lon)'),
+         'description' => t('iCal Geo latitude/longitude coordinates associated with item as an array.'),
+      ),
     );
   }
 }
