Changeset 177 for trunk


Ignore:
Timestamp:
09/20/2008 03:39:52 PM (4 years ago)
Author:
winner
Message:

Enabled draggable markers when picking the node location. (from cirrus @ google code -r6)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/templates/basic/includes/pages/gmap/gmap_pickup_js.tpl

    r169 r177  
    4444                        var center = new GLatLng(window.opener.document.{/literal}{$object_lat}{literal}.value, window.opener.document.{/literal}{$object_lon}{literal}.value); 
    4545                        var zoom = 16; 
    46                         marker = new GMarker(center); 
     46                        marker = new GMarker(center, {draggable: true}); 
    4747                        marker_point = center; 
     48                        GEvent.addListener(marker, 'dragend', function() { 
     49                                        marker_point.x = marker.getPoint().x; 
     50                                        marker_point.y = marker.getPoint().y; 
     51                                        var html = '<div style="padding-right: 15px; white-space: nowrap; text-align:left; font-size:10px;">{/literal}{$lang.db.nodes__latitude}{literal}: ' + (Math.round(marker_point.y * 1000000)/1000000) + '<br />' + '{/literal}{$lang.db.nodes__longitude}{literal}: ' + (Math.round(marker_point.x * 1000000)/1000000) + '<br /><br />' + '<a href="" onclick="window.opener.pickup_value(window.opener.document.{/literal}{$object_lat|escape:"quotes"}{literal}, Math.round(marker_point.y * 1000000) / 1000000); window.opener.pickup_value(window.opener.document.{/literal}{$object_lon|escape:"quotes"}{literal}, Math.round(marker_point.x * 1000000)/1000000); window.close(); return false;">{/literal}{$lang.select_the_coordinates}{literal}</a></div>'; 
     52                                        marker.openInfoWindowHtml(html); 
     53                                }); 
    4854                } else { 
    4955                        var center = new GLatLng({/literal}{$center_latitude}{literal}, {/literal}{$center_longitude}{literal}); 
     
    5763                GEvent.addListener(map, 'click', function(overlay, point) { 
    5864                        if (overlay) { 
    59                                 map.removeOverlay(overlay); 
     65                                map.clearOverlays(); 
    6066                        } else if (point) { 
    61                                 if (marker) map.removeOverlay(marker); 
    62                                 marker = new GMarker(point); 
     67                                if (marker) map.clearOverlays(); 
     68                                marker = new GMarker(point, {draggable: true}); 
    6369                                marker_point = point; 
    6470                                var html = '<div style="padding-right: 15px; white-space: nowrap; text-align:left; font-size:10px;">{/literal}{$lang.db.nodes__latitude}{literal}: ' + (Math.round(marker_point.y * 1000000)/1000000) + '<br />' + '{/literal}{$lang.db.nodes__longitude}{literal}: ' + (Math.round(marker_point.x * 1000000)/1000000) + '<br /><br />' + '<a href="" onclick="window.opener.pickup_value(window.opener.document.{/literal}{$object_lat|escape:"quotes"}{literal}, Math.round(marker_point.y * 1000000) / 1000000); window.opener.pickup_value(window.opener.document.{/literal}{$object_lon|escape:"quotes"}{literal}, Math.round(marker_point.x * 1000000)/1000000); window.close(); return false;">{/literal}{$lang.select_the_coordinates}{literal}</a></div>'; 
    6571                                map.addOverlay(marker); 
    6672                                marker.openInfoWindowHtml(html); 
     73                                GEvent.addListener(marker, 'dragstart', function() { 
     74                                        map.closeInfoWindow(); 
     75                                }); 
     76                                GEvent.addListener(marker, 'dragend', function() { 
     77                                        marker_point.x = marker.getPoint().x; 
     78                                        marker_point.y = marker.getPoint().y; 
     79                                        var html = '<div style="padding-right: 15px; white-space: nowrap; text-align:left; font-size:10px;">{/literal}{$lang.db.nodes__latitude}{literal}: ' + (Math.round(marker_point.y * 1000000)/1000000) + '<br />' + '{/literal}{$lang.db.nodes__longitude}{literal}: ' + (Math.round(marker_point.x * 1000000)/1000000) + '<br /><br />' + '<a href="" onclick="window.opener.pickup_value(window.opener.document.{/literal}{$object_lat|escape:"quotes"}{literal}, Math.round(marker_point.y * 1000000) / 1000000); window.opener.pickup_value(window.opener.document.{/literal}{$object_lon|escape:"quotes"}{literal}, Math.round(marker_point.x * 1000000)/1000000); window.close(); return false;">{/literal}{$lang.select_the_coordinates}{literal}</a></div>'; 
     80                                        marker.openInfoWindowHtml(html); 
     81                                }); 
    6782                } 
    6883                }); 
     84                 
    6985                if (marker) map.addOverlay(marker); 
    7086        } 
Note: See TracChangeset for help on using the changeset viewer.