Index: gmap.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/gmap/gmap.module,v
retrieving revision 1.104
diff -r1.104 gmap.module
125a126
>         drupal_add_js($path .'highlight.js');
226a228,239
>         'googlebar' => array(
>           'title' => t('Enable Google Bar'),
>           'default' => FALSE,
>           'help' => t('Enable the "Google Bar" at bottom.'),
>           'previewable' => TRUE,
>         ),
>         'highlight' => array(
>           'title' => t('Highlight marker on rollover'),
>           'default' => FALSE,
>           'help' => t('Highlight marker by creating circle on mouse rollover event.'),
>           'previewable' => TRUE,
>         ),        
285a299
>   drupal_add_js($gmap_path .'/js/highlight.js');
Index: gmap_plugin_style_gmap.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/gmap/gmap_plugin_style_gmap.inc,v
retrieving revision 1.11
diff -r1.11 gmap_plugin_style_gmap.inc
30a31,33
>     
>     $options['center_on_nodearg'] = array('default' => '0');
>     $options['highlight_nodearg'] = array('default' => '0');
34a38,39
>     
>     $options['tooltipfield'] = array('default' => '');
78a84
>     $tooltip_field = 'gmap_tooltip';
84c90,91
< 
---
>       $tooltip_field_obj = $this->view->display_handler->get_handler('field', $this->options['tooltipfield']);
>       
86a94
>       $tooltip_field = $tooltip_field_obj->field_alias;
113a122,134
>       $lat_center = null;
>       $lon_center = null;
>       $nid_center = null;
>       $nid_highlight = null;
> 
>       // we search nid argument used to center map
>       if ($this->options['center_on_nodearg'] && $nodehandler = $this->view->display_handler->get_handler('argument', 'null')) {
>         $nid_center = $nodehandler->get_value();
>       }
>       if ($this->options['highlight_nodearg'] && $nodehandler = $this->view->display_handler->get_handler('argument', 'null')) {
>         $nid_highlight = $nodehandler->get_value();
>       }      
> 
117a139,151
> 
>         // if this row will be used as center map then we keep its lon/lat 
>         if (!empty($nid_center) && $nid_center == $row->nid) {
>           $lon_center = $lon;
>           $lat_center = $lat;
>         }
>         
>         
>         $tooltip = "";
>         if (!empty($tooltip_field)) {
>             $tooltip = $row->{$tooltip_field};
>         }
>         
150a185
>             'opts' => array('title' => $tooltip),
156a192,198
> 
>         // if center lon/lat are not empty they are used to center map 
>         if (!empty($lon_center) && !empty($lat_center)) {
>           $map['longitude'] = $lon_center;
>           $map['latitude'] = $lat_center;
>         }
>         
169a212,224
>     $form['center_on_nodearg'] = array(
>       '#type' => 'checkbox',
>       '#title' => t('Center on node argument'),
>       '#default_value' => $this->options['center_on_nodearg'],
>       '#description' => t('Note: The view must contain a node by node id as an argument Global:Null'),
>     );
>     $form['highlight_nodearg'] = array(
>       '#type' => 'checkbox',
>       '#title' => t('Highlight marker for node argument'),
>       '#default_value' => $this->options['highlight_nodearg'],
>       '#description' => t('Note: The view must contain a node by node id as an argument Global:Null'),
>     );
> 
213a269,277
>     $form['tooltipfield'] = array(
>       '#title' => t('Tooltip field'),
>       '#description' => t('Format must be text'),
>       '#type' => 'select',
>       '#options' => $options,
>       '#default_value' => $this->options['tooltipfield'],
>       '#process' => array('views_process_dependency'),
>       '#dependency' => array('edit-style-options-datasource' => array('fields')),
>     );
Index: js/marker.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/gmap/js/marker.js,v
retrieving revision 1.4
diff -r1.4 marker.js
24a25,29
>     if (obj.vars.behavior.highlight) {
>       GEvent.addListener(m, 'mouseover', function () {
>         obj.change('mouseovermarker', -1, marker);
>       });    	
>     }
103a109,112
>   
>   obj.bind('mouseovermarker', function (marker) {
> 	  highlightCurrentMarker(obj.map, marker);	  
>   });
Index: js/gmap.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/gmap/js/gmap.js,v
retrieving revision 1.16
diff -r1.16 gmap.js
302a303,305
>     if (obj.vars.behavior.googlebar) {
>         map.enableGoogleBar();
>       }    
Index: js/highlight.js
===================================================================
RCS file: js/highlight.js
diff -N js/highlight.js
0a1,51
> /* $Id: highlight.js,v 1.0 2009/05/09 19:12:12 srobert72 Exp $ */
> 
> /**
>  * @file
>  * Common marker highlighting routines.
>  */
> 
> /*global $, Drupal */
> 
> /**
>  * Highlights marker on rollover.
>  * Removes highlight on previous marker.
>  *
>  * Creates a "circle" using 20-sided GPolygon at the given point
>  * Circle polygon object is global variable as there is only one highlighted marker at a time
>  * and we want to remove the previously placed polygon before placing a new one.
>  * 
>  * Original code "Google Maps JavaScript API Example"
>  */
> var highlightCircle;
> highlightCurrentMarker = function (map, currentMarker) {
>   var markerPoint = currentMarker.marker.getPoint();
> 
>   var polyPoints = Array();
> 
>   if (highlightCircle) {
>     map.removeOverlay(highlightCircle);
>   }
> 
>   var mapNormalProj = G_NORMAL_MAP.getProjection();
>   var mapZoom = map.getZoom();
>   var clickedPixel = mapNormalProj.fromLatLngToPixel(markerPoint, mapZoom);
> 
>   var polySmallRadius = 20;
> 
>   var polyNumSides = 20;
>   var polySideLength = 18;
> 
>   for (var a = 0; a<(polyNumSides+1); a++) {
>     var aRad = polySideLength*a*(Math.PI/180);
>     var polyRadius = polySmallRadius; 
> 	var pixelX = clickedPixel.x + polyRadius * Math.cos(aRad);
>     var pixelY = clickedPixel.y + polyRadius * Math.sin(aRad);
>     var polyPixel = new GPoint(pixelX,pixelY);
>     var polyPoint = mapNormalProj.fromPixelToLatLng(polyPixel,mapZoom);
>     polyPoints.push(polyPoint);
>   }
>   // Using GPolygon(points,  strokeColor?,  strokeWeight?,  strokeOpacity?,  fillColor?,  fillOpacity?)
>   highlightCircle = new GPolygon(polyPoints,"#000000",2,0.0,"#FF0000",.5);
>   map.addOverlay(highlightCircle);
> };
\ No newline at end of file
