Map in Erlang is equivalent of hashes in Perl or dictionaries in Python, its a key/value store. To list every value stored in, you can list every key, and return key/value pair. This first loop give you an idea:
loop(Map) when is_map(Map) -> 
  Keys = maps:keys(Map),
  loop(Map, Keys).
loop...