Ignore:
Timestamp:
2019-01-07T15:12:19+13:00 (5 years ago)
Author:
ak19
Message:

Fixed selection bug and added colour, thickness and opacity change to history.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gs3-extensions/map-editor/DrawingManager/historyManager.js

    r32710 r32721  
    11var prevOverlays = [];
    22
    3 function undoMovement() {
    4     console.log("*** undoMovement called");
     3function undo() {
     4
    55    for (var i = 0; i < overlays.length; i++) {
    66        overlays[i].setMap(null);
    77
    88    }
    9    
    10     overlays = [];
    11    
    12     var prev_overlay = prevOverlays.pop();
    13    
    14     for (var i = 0; i < prev_overlay.length; i++) {
    15         overlays[i] = prev_overlay[i];
    16         overlays[i].setMap(map);
    17     }
     9    if (prevOverlays.length != 0){
     10        overlays = [];
     11        console.log(prevOverlays);
     12        var prev_overlay = prevOverlays.pop();
     13       
     14        for (var i = 0; i < prev_overlay.length; i++) {
     15            overlays[i] = prev_overlay[i];
     16            overlays[i].setMap(map);
     17        }
     18       
     19    }
     20   
     21    //Deactivated at the moment
     22    if(enableSelectionFeature){
     23        selectedShapes = [];
     24        var i = 0;
     25        var lastEntry = prevOverlays[prevOverlays.length-1][i];
     26        console.log(prevOverlays[prevOverlays.length-1].length);
     27       
     28        for(var i = 0; i < lastEntry.length; i++){
     29            selectedShapes.push(prevOverlays)
     30            console.log("comes here");
     31        }
     32       
     33    }
     34   
    1835   
    1936}
     
    4360    var strokeOpacity = polyline.strokeOpacity;
    4461    var strokeWeight  = polyline.strokeWeight;
    45    
    4662    var clone_path    = clonePath(path);
     63    //var editable      = rect.editable;
    4764   
    4865    var clone_polyline = new google.maps.Polyline({
     
    5168        strokeOpacity: strokeOpacity,
    5269        strokeWeight: strokeWeight,
    53         path: clone_path
     70        path: clone_path,
     71        draggable: true,
     72        editable: false
    5473    });
    5574   
     
    6887    var fillColor     = polygon.fillColor;
    6988    var fillOpacity   = polygon.fillOpacity;
    70    
    7189    var clone_path    = clonePath(path);
     90    //var editable      = rect.editable;
    7291   
    7392    var clone_polygon = new google.maps.Polygon({
     
    7897        fillColor: fillColor,
    7998        fillOpacity: fillOpacity,
    80         path: clone_path
     99        path: clone_path,
     100        draggable: true,
     101        editable: false
    81102    });
    82103   
     
    94115    var fillOpacity   = rect.fillOpacity;
    95116    var bounds        = rect.getBounds();
     117    //var editable      = rect.editable;
    96118   
    97119    var clone_rect = new google.maps.Rectangle({
     
    101123        fillColor: fillColor,
    102124        fillOpacity: fillOpacity,
    103         bounds: bounds
     125        bounds: bounds,
     126        draggable: true,
     127        editable: false
    104128    });
    105129   
     
    118142    var center        = circ.center;
    119143    var radius        = circ.radius;
     144    //var editable      = rect.editable;
    120145   
    121146    var clone_circ = new google.maps.Circle({
     
    126151        fillOpacity: fillOpacity,
    127152        center: center,
    128         radius: radius
     153        radius: radius,
     154        draggable: true,
     155        editable: false
    129156    });
    130157   
     
    161188}
    162189
     190function overlayItemIsShape(overlay_item)
     191{
     192    var type = overlay_item.type;
     193   
     194    is_shape = (type === google.maps.drawing.OverlayType.POLYLINE)
     195     || (type === google.maps.drawing.OverlayType.POLYGON)
     196     || (type === google.maps.drawing.OverlayType.RECTANGLE)
     197     || (type === google.maps.drawing.OverlayType.CIRCLE);
     198     
     199     return is_shape;
     200}
     201
    163202function historyOverlayPush()
    164203{
    165     console.log("historyOverlayPush()");
     204    console.log("comes here");
    166205    var overlays_copy = [];
    167206    for (var i = 0; i<overlays.length; i++) {
    168207        var clone_shape = cloneShape(overlays[i]);
    169        
    170         google.maps.event.addListener(clone_shape, 'click', function () {
    171             setSelection(clone_shape);
    172         });
    173            
     208        if (overlayItemIsShape(clone_shape)) {
     209            addShapeListeners(clone_shape,null); // don't have an overlay event!
     210        }
     211        else {
     212            addMarkerListeners(clone_shape,null); // don't have an overlay event!
     213        }
    174214        overlays_copy[i] = clone_shape;
    175        
    176215    }
    177216   
Note: See TracChangeset for help on using the changeset viewer.