diff --git a/drupal/sites/all/modules/gmap_geo/gmap_geo.module b/drupal/sites/all/modules/gmap_geo/gmap_geo.module
index 8b47bc4..ae93929 100755
--- a/drupal/sites/all/modules/gmap_geo/gmap_geo.module
+++ b/drupal/sites/all/modules/gmap_geo/gmap_geo.module
@@ -175,7 +175,17 @@ function theme_gmap_geo_formatter($element) {
 function gmap_geo_map_feature($geo_array, $geo_type, &$map) {
   switch ($geo_type) {
     case 'point':
-      $map['markers'][] = array('latitude' => $geo_array['0'], 'longitude' => $geo_array['1']);
+			$marker = array('latitude' => $geo_array['0'], 'longitude' => $geo_array['1']);
+			if (isset($geo_array['markername'])) {
+				$marker['markername'] = $geo_array['markername'];
+			}
+			if (isset($geo_array['offset'])) {
+				$marker['offset'] = $geo_array['offset'];
+			}
+			if (isset($geo_array['text'])) {
+				$marker['text'] = $geo_array['text'];
+			}
+			$map['markers'][] = $marker;
       break;
     case 'linestring':
       module_load_include('inc', 'gmap', 'gmap_polyutil');
@@ -208,7 +218,7 @@ function gmap_geo_map_feature($geo_array, $geo_type, &$map) {
  */
 function geo_wkb_get_array_for_gmap($data, $items = NULL) {
   if (isset($data['x']) && isset($data['y'])) {
-    $ret = array('0' => $data['x'], '1' => $data['y']);
+    $ret = array('0' => $data['y'], '1' => $data['x']); // Edit by swill: I switched the x and y in this line because the points were mapping backwards...
   }
   elseif (isset($data['value'])) {
     $ret = $data['value'];
diff --git a/drupal/sites/all/modules/gmap_geo/gmap_geo_plugin_style_gmap.inc b/drupal/sites/all/modules/gmap_geo/gmap_geo_plugin_style_gmap.inc
index 5c1b3af..14c2120 100644
--- a/drupal/sites/all/modules/gmap_geo/gmap_geo_plugin_style_gmap.inc
+++ b/drupal/sites/all/modules/gmap_geo/gmap_geo_plugin_style_gmap.inc
@@ -49,10 +49,10 @@ class gmap_geo_plugin_style_gmap extends views_plugin_style {
         '#default_value' => $field_options['enabled'],
       );
 
-      $field_config['foo'] = array('#value' => 'other config options go here...');
+      //$field_config['foo'] = array('#value' => 'other config options go here...');
 
       // these options are commented out because gmap_geo doesn't yet support custom marker/poly/line styles
-/*      if ($handler->content_field['geo_type'] == 'point') {
+      if ($handler->content_field['geo_type'] == 'point') {
         // choose marker
         $field_config['marker'] = array(
           '#type' => 'gmap_markerchooser',
@@ -60,7 +60,7 @@ class gmap_geo_plugin_style_gmap extends views_plugin_style {
           '#default_value' => $field_options['marker'],
         );
       }
-      elseif ($handler->content_field['geo_type'] == 'polyline' || $handler->content_field['geo_type'] == 'polygon') {
+/*      elseif ($handler->content_field['geo_type'] == 'polyline' || $handler->content_field['geo_type'] == 'polygon') {
         // choose line style
         $field_config['line_color'] = array(
           '#type' => 'textfield',
@@ -122,8 +122,14 @@ class gmap_geo_plugin_style_gmap extends views_plugin_style {
       foreach ($this->options['geo_fields'] as $field => $display_options) {
         if (! $display_options['enabled']) { continue; }
         foreach ($rows as $r) {
-          $geo_array = geo_wkb_get_data($r->{$field . '_wkb'}, 'array_for_gmap');
-          gmap_geo_map_feature($geo_array['value'], $geo_array['type'], $map);
+					$base_field = substr($field, 0, -4); // Edit by swill: this is because the $field variable ends with _geo, but we want to use the _wkb field...
+          $geo_array = geo_wkb_get_data($r->{$base_field.'_wkb'}, 'array_for_gmap');
+					$marker_data = $geo_array['value'];
+					$marker_data['text'] = $this->row_plugin->render($r);
+					if (isset($display_options['marker'])) {
+						$marker_data['markername'] = $display_options['marker'];
+					}
+          gmap_geo_map_feature($marker_data, $geo_array['type'], $map);
         }
       }
       $output .= theme($this->theme_functions(), $this->view, $this->options, $map, $title);
