diff -u'rNF^function' gmap-old/gmapmacro.js gmap/gmapmacro.js
--- gmap-old/gmapmacro.js	2006-04-16 09:39:48.000000000 +0200
+++ gmap/gmapmacro.js	2006-09-17 14:12:08.000000000 +0300
@@ -82,7 +82,8 @@ function gmap_init() {
       map.removeOverlay(overlay);
     }
     else if (point) {
-      var selected = $('gmap-clicktype').value;
+     var connected = $('gmap-connected').checked; 
+     var selected = $('gmap-clicktype').value;
       switch (selected) {
         // I've got the feeling that some of the following logic could be trimmed
         case 'Points':
@@ -99,7 +100,14 @@ function gmap_init() {
           if (map.drupal.line1string.length > 0) map.drupal.line1string += ' + ';
           map.drupal.line1string += point.lat() + ',' + point.lng();
           map.drupal.gmapline1 = map.drupal.line1string;
-          break;
+
+if (connected == true)
+{        
+	  map.addOverlay(marker=new GMarker(point));
+          map.drupal.pointsOverlays.push(marker);
+          map.drupal.points.push(point.lat() + ',' + point.lng());
+}       
+  break;
   
         case 'Line2':
           map.drupal.line2points.push(point);
@@ -109,7 +117,13 @@ function gmap_init() {
           if (map.drupal.line2string.length > 0) map.drupal.line2string += ' + ';
           map.drupal.line2string += point.lat() + ',' + point.lng();
           map.drupal.gmapline2 = map.drupal.line2string;
-          break;
+  if (connected == true)
+{        
+          map.addOverlay(marker=new GMarker(point));
+          map.drupal.pointsOverlays.push(marker);
+          map.drupal.points.push(point.lat() + ',' + point.lng());
+}  
+        break;
     
         case 'Line3':
           map.drupal.line3points.push(point);
@@ -119,7 +133,13 @@ function gmap_init() {
           if (map.drupal.line3string.length > 0) map.drupal.line3string += ' + ';
           map.drupal.line3string += point.lat() + ',' + point.lng();
           map.drupal.gmapline3 = map.drupal.line3string;
-          break;
+ if (connected == true)
+{        
+          map.addOverlay(marker=new GMarker(point));
+          map.drupal.pointsOverlays.push(marker);
+          map.drupal.points.push(point.lat() + ',' + point.lng());
+}   
+      break;
       }      
     }
     $('gmap-macrotext').value = map_to_macro(map);
diff -u'rNF^function' gmap-old/gmap.module gmap/gmap.module
--- gmap-old/gmap.module	2006-09-01 12:03:58.000000000 +0300
+++ gmap/gmap.module	2006-09-17 14:17:44.000000000 +0300
@@ -1149,7 +1149,8 @@ function gmap_macro_form() {
 //    '#default_value' => GMAP_ALIGNMENT,
     '#required' => FALSE,
     '#attributes' => array('onchange' => 'set_gmap_alignment(this.value);')
-  );  
+  ); 
+
   $form['macroform']['clicktype'] = array(
     '#type' => 'select', 
     '#id' => 'gmap-clicktype',
@@ -1159,6 +1160,11 @@ function gmap_macro_form() {
     '#default_value' => 'Points',
 //    '#attributes' => array('onchange' => 'docontrol(this.value);')
   );    
+  $form['macroform']['connected'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Lines connected with points'),
+    '#id' => 'gmap-connected');
+
   $form['macroform']['zoom'] = array(
     '#type' => 'select', 
     '#id' => 'gmap-zoom',
