anchor.diff:      return long == p.long && lat == p.lat;
     }
     
  - /* bool operator ==(Position p){
  -    return long == p.long && lat == p.lat;
  -  }*/
  +
  +  static num toRadians(num x){
  +    return x * (PI)/180;
  +  }
  +  
  +  num getDistanceTo (Position b){
  +    num dLat = toRadians(b.lat - lat);
  +    num dLong = toRadians(b.long - long);
  +    
  +    num a = sin(dLat/2) * sin(dLat/2) + sin(dLong/2) * sin(dLong/2) * cos(toRadians(lat)) * cos(b.lat); 
  +    return EARTH_RADIUS2 * atan2(sqrt(a), sqrt(1-a)); 
  +  }
     
   }
   
  
positive.code: import 'dart:math';
  
  final EARTH_RADIUS = 6371; // km
  
  class Position {
    final double long;
  
negative.code:         distances.remove(lastKeyToRemove); 
        }
        positions[pos.timestamp] = pos;
        distances[pos.timestamp] = last.getDistanceTo(pos);
      }
      return true;
    }
  