I am not entirely sure what is going on here. The map container is something I've been struggling with I'll gladly admit.
Maps work like vectors, but instead of using numbers to access elements at an index, you can use any data type that can be sorted or hashed. There are three types of map: map, unordered_map, and multi_map. Map stores items in a sorted list inside and is good if you need the data to be stored in a sorted manner. Unordered maps use hashing and are best for random access, it is O(1). Multi map is like a regular map, except each index in the map can store more than one thing.
To access something in a map, it is just like a vector, except you use a variable of the type you specified when you created the map.
//adding on to exploiters example
std::map<sf::Keyboard::Key, sf::Vector2f> key_location;
key_location.insert(std::make_pair(sf::Keyboard::A, sf::Vector2f(20.f, 40.f)));
//access is done like this
playerPosition = key_location[ sf::Keyboard::A ] //sets player position (assuming its a sf::Vector2f) to 20,40
Maps also have function for finding if a key already exists or not called find. It will return an pointer to the iterator of the key if it exists, or it will return end() if it does not.
so you would just need to save the key pressed, check if it exists in the map, and if it does, then set the player's position equal to the value you stored inside.
Hope that helps.