diff --git a/js/geolocation-formatter-googlemap.js b/js/geolocation-formatter-googlemap.js
index 5cdb2bc..cef463d 100644
--- a/js/geolocation-formatter-googlemap.js
+++ b/js/geolocation-formatter-googlemap.js
@@ -101,8 +101,12 @@
                 map: map.googleMap,
                 title: location.children('h2').text(),
                 infoWindowContent: location.html(),
-                infoWindowSolitary: true
+                infoWindowSolitary: true,
               };
+              
+              if (typeof location.data('icon') !== 'undefined') {
+                markerConfig.icon = location.data('icon');
+              }
 
               var marker = Drupal.geolocation.setMapMarker(map, markerConfig);
 
diff --git a/src/Plugin/Field/FieldFormatter/GeolocationGoogleMapFormatter.php b/src/Plugin/Field/FieldFormatter/GeolocationGoogleMapFormatter.php
index 9a87f48..7d165e9 100644
--- a/src/Plugin/Field/FieldFormatter/GeolocationGoogleMapFormatter.php
+++ b/src/Plugin/Field/FieldFormatter/GeolocationGoogleMapFormatter.php
@@ -43,6 +43,7 @@ class GeolocationGoogleMapFormatter extends FormatterBase {
     $settings['set_marker'] = TRUE;
     $settings['common_map'] = FALSE;
     $settings['info_text'] = '';
+    $settings['icon'] = '';
     $settings += parent::defaultSettings();
     $settings['use_overridden_map_settings'] = FALSE;
     $settings += self::getGoogleMapDefaultSettings();
@@ -63,6 +64,18 @@ class GeolocationGoogleMapFormatter extends FormatterBase {
       '#default_value' => $settings['set_marker'],
     ];
 
+    $element['icon'] = [
+      '#type' => 'textfield',
+      '#title' => $this->t('Marker icon'),
+      '#description' => $this->t('Path to custom icon'),
+      '#default_value' => $settings['icon'],
+      '#states' => [
+        'visible' => [
+          ':input[name="fields[' . $this->fieldDefinition->getName() . '][settings_edit_form][settings][set_marker]"]' => ['checked' => TRUE],
+        ],
+      ],
+    ];
+
     $cardinality = $this->fieldDefinition->getFieldStorageDefinition()->getCardinality();
     if (
       $cardinality == FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED
@@ -143,6 +156,7 @@ class GeolocationGoogleMapFormatter extends FormatterBase {
       $summary[] = $this->t('Marker Info Text: @type', [
         '@type' => current(explode(chr(10), wordwrap($settings['info_text'], 30))),
       ]);
+      $summary[] = $this->t('Marker Icon: @type', ['@type' => $settings['title']]);
       if (!empty($settings['common_map'])) {
         $summary[] = $this->t('Common Map Display: Yes');
       }
diff --git a/src/Plugin/views/style/CommonMap.php b/src/Plugin/views/style/CommonMap.php
index 1f0bb69..c15ead9 100644
--- a/src/Plugin/views/style/CommonMap.php
+++ b/src/Plugin/views/style/CommonMap.php
@@ -100,6 +100,13 @@ class CommonMap extends StylePluginBase {
       $title_field = $this->options['title_field'];
     }
 
+
+    if (
+    !empty($this->options['global_icon_path'])
+    ) {
+      $global_icon_path = $this->options['global_icon_path'];
+    }
+
     if (
       !empty($this->options['icon_field'])
       && $this->options['icon_field'] != 'none'
@@ -251,7 +258,10 @@ class CommonMap extends StylePluginBase {
           '#position' => $position,
         ];
 
-        if (!empty($icon_url)) {
+        if (!empty($global_icon_path)) {
+          $location['#icon'] = $global_icon_path;
+        }
+        elseif (!empty($icon_url)) {
           $location['#icon'] = $icon_url;
         }
         if (!empty($location_id)) {
@@ -390,6 +400,7 @@ class CommonMap extends StylePluginBase {
     $options['even_empty'] = ['default' => '0'];
     $options['geolocation_field'] = ['default' => ''];
     $options['title_field'] = ['default' => ''];
+    $options['global_icon_path'] = ['default' => ''];
     $options['icon_field'] = ['default' => ''];
     $options['marker_scroll_to_result'] = ['default' => 0];
     $options['id_field'] = ['default' => ''];
@@ -490,6 +501,13 @@ class CommonMap extends StylePluginBase {
       '#empty_value' => 'none',
     ];
 
+    $form['global_icon_path'] = [
+      '#title' => $this->t('Marker icon'),
+      '#type' => 'textfield',
+      '#default_value' => $this->options['global_icon_path'],
+      '#description' => $this->t("Default marker icon path"),
+    ];
+
     $form['icon_field'] = [
       '#title' => $this->t('Icon source field'),
       '#type' => 'select',
