anchor.diff:    Marker _marker;
     DivElement mapPosition;
     DivElement mapAddress;
  -  bool editionMode;
  -
  -  MapGeoLocation(this.map, this.mapSize, this.markerUrl, this.markerSize, {this.editionMode}) {
  +  CheckboxInputElement lock ;
  +  bool _editionMode;
  +
  +  MapGeoLocation(this.map, this.mapSize, this.markerUrl, this.markerSize, {bool editionMode}) {
       this.map.style
         ..position = "relative"
         ..visibility = null;
  -    if (editionMode == null) {
  -      editionMode = true;
  -    }
  +    this.editionMode = editionMode ;
       init();
     }
   
  +  set editionMode(bool value){
  +    if (value == null) {
  +      _editionMode = true;
  +    }else{
  +      _editionMode = value;
  +    }
  +    if (_googleMap!= null){
  +      LatLngBounds bounds = _googleMap.bounds ;
  +      
  +      _googleMap.options = new MapOptions()
  +      ..draggable = _editionMode
  +      ..zoomControl = _editionMode
  +      ..disableDefaultUI = !_editionMode
  +      ..mapTypeControl = _editionMode
  +      ..mapTypeId = MapTypeId.ROADMAP
  +      ..streetViewControl = false;
  +    }
  +  }
  +  
  +  
  +  
     set user(User value) {
       _user = value;
       if (_user.hasLocation) {
  
positive.code: 
      mapPosition = new DivElement();
      mapAddress = new DivElement();
  
      map.append(mapAddress);
      map.append(mapCanvas);
      map.append(mapPosition);
  
      final mapOptions = new MapOptions()
        ..center = defaultPosition
        ..zoom = 6
        ..mapTypeId = MapTypeId.ROADMAP
        ..streetViewControl = false;
  
  
negative.code: 
    bool _canKeepMarkerInCenter = false;
    void _keepMarkerInCenter() {
      if (_canKeepMarkerInCenter && _editionMode) {
        if (_marker != null) {
          _marker.position = _googleMap.center;
          mapPosition.innerHtml = "${_googleMap.center.lat}, ${_googleMap.center.lng}";
  