--- gmap_plugin_style_gmap.inc.orig     2011-02-14 03:15:16.000000000 -0600
+++ gmap_plugin_style_gmap.inc  2011-02-14 03:19:53.000000000 -0600
@@ -62,4 +62,8 @@
       $this->view->query->add_field('gmap_taxonomy_node', 'marker', 'gmap_node_marker');
     }
+    else if ($this->options['markers'] == 'nodetype_taxonomy') {
+      $this->view->query->add_field('node', 'type', 'gmap_node_type');
+      $this->view->query->add_field('gmap_taxonomy_node', 'marker', 'gmap_node_marker');
+    }
     else if ($this->options['markers'] == 'userrole') {
       $this->view->query->add_field('users_roles', 'rid', 'gmap_role_marker');
@@ -111,5 +115,6 @@

     $markertypes = variable_get('gmap_node_markers', array());
-    if ($this->options['markers'] == 'nodetype') {
+    if (($this->options['markers'] == 'nodetype') ||
+       ($this->options['markers'] == 'nodetype_taxonomy')) {
       $markertypes = variable_get('gmap_node_markers', array());
     }
@@ -168,4 +173,12 @@
             }
           }
+          else if ($this->options['markers'] == 'nodetype_taxonomy') {
+            if (isset($markertypes[$row->gmap_node_type])) {
+              $markername = $markertypes[$row->gmap_node_type];
+            }
+            if (!empty($row->gmap_node_marker)) {
+              $markername = $row->gmap_node_marker;
+            }
+          }
           else if ($this->options['markers'] == 'userrole') {
             if (!empty($row->gmap_role_marker)) {
@@ -286,4 +299,5 @@
         'nodetype' => t('By content type (for node views)'),
         'taxonomy' => t('By term (for node views)'),
+        'nodetype_taxonomy' => t('By term and content type (for node views)'),
         'userrole' => t('By user role (for user views)'),
         'field' => t('Use marker field'),
@@ -305,4 +319,5 @@
     if (!module_exists('gmap_taxonomy')) {
       unset($form['markers']['#options']['taxonomy']);
+      unset($form['markers']['#options']['nodetype_taxonomy']);
     }

