diff --git a/src/main/java/NTNU/IDATT1002/controllers/Map.java b/src/main/java/NTNU/IDATT1002/controllers/Map.java
index 2eb43959530795f61e724e713375e96db1554778..65274811f52926cf5068dce502fc0195d7bd5184 100644
--- a/src/main/java/NTNU/IDATT1002/controllers/Map.java
+++ b/src/main/java/NTNU/IDATT1002/controllers/Map.java
@@ -1,11 +1,14 @@
 package NTNU.IDATT1002.controllers;
 
 import NTNU.IDATT1002.App;
+import NTNU.IDATT1002.models.Album;
 import NTNU.IDATT1002.models.Image;
+import NTNU.IDATT1002.service.AlbumService;
 import NTNU.IDATT1002.service.ImageService;
 import com.lynden.gmapsfx.GoogleMapView;
 import com.lynden.gmapsfx.MapComponentInitializedListener;
 import com.lynden.gmapsfx.javascript.object.GoogleMap;
+import java.util.Optional;
 import javafx.concurrent.Task;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
@@ -48,6 +51,7 @@ public class Map implements Initializable, MapComponentInitializedListener {
     private GoogleMap map;
 
     private ImageService imageService;
+    private AlbumService albumService;
     private ExecutorService executorService = Executors.newCachedThreadPool();
     private static Logger logger = LoggerFactory.getLogger(Map.class);
 
@@ -55,6 +59,7 @@ public class Map implements Initializable, MapComponentInitializedListener {
     public Map() {
         EntityManager entityManager = App.ex.getEntityManager();
         imageService = new ImageService(entityManager);
+        albumService = new AlbumService(entityManager);
     }
 
     /**
@@ -72,16 +77,31 @@ public class Map implements Initializable, MapComponentInitializedListener {
 
 
     /**
-     * Fetch all images in a background task and create and display the map on success.
+     * Check is there is a current album in dataexchange first and uses images from album to display on map.
+     * If none is found it proceeds to get all images available and display on map
      */
     @Override
     public void mapInitialized() {
-        executorService.submit(fetchImages);
+        List<Image> albumImages = new ArrayList<>();
+        Long currentAlbumId;
 
-        fetchImages.setOnSucceeded(workerStateEvent -> {
-            List<Image> images = fetchImages.getValue();
-            ImageMapFactory.createMap(mapView, images);
-        });
+        if(App.ex.getChosenAlbumId() == null) {
+            executorService.submit(fetchImages);
+
+            fetchImages.setOnSucceeded(workerStateEvent -> {
+                List<Image> allImages = fetchImages.getValue();
+                ImageMapFactory.createMap(mapView, allImages);
+            });
+        }
+        else {
+            currentAlbumId = App.ex.getChosenAlbumId();
+            Optional<Album> optionalAlbum = albumService.getAlbumById(currentAlbumId);
+            if (optionalAlbum.isPresent()) {
+                Album album = optionalAlbum.get();
+                albumImages = album.getImages();
+            }
+            ImageMapFactory.createMap(mapView, albumImages);
+        }
     }
 
     /**
@@ -105,6 +125,7 @@ public class Map implements Initializable, MapComponentInitializedListener {
      * @throws IOException
      */
     public void switchToMain(MouseEvent mouseEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("main");
     }
 
@@ -118,6 +139,7 @@ public class Map implements Initializable, MapComponentInitializedListener {
         if (!tbar_search.getText().isEmpty()){
             App.ex.setSearchField(tbar_search.getText());
         }
+        App.ex.setChosenAlbumId(null);
         App.setRoot("search");
     }
 
@@ -127,6 +149,7 @@ public class Map implements Initializable, MapComponentInitializedListener {
      * @throws IOException
      */
     public void switchToExplore(ActionEvent actionEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("explore");
     }
 
@@ -136,6 +159,7 @@ public class Map implements Initializable, MapComponentInitializedListener {
      * @throws IOException
      */
     public void switchToAlbums(ActionEvent actionEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("explore_albums");
     }
 
@@ -146,6 +170,7 @@ public class Map implements Initializable, MapComponentInitializedListener {
      * @throws IOException
      */
     public void switchToMap(ActionEvent actionEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("map");
     }
 
@@ -156,6 +181,7 @@ public class Map implements Initializable, MapComponentInitializedListener {
      * @throws IOException this page does not exist
      */
     public void switchToUpload(ActionEvent actionEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("upload");
     }
 
diff --git a/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java b/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java
index 65513152d5e6187e1dfdfe4890d5300d00b85034..7d855c768b0331cde298abc66fd0e18e04466d54 100644
--- a/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java
+++ b/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java
@@ -5,6 +5,7 @@ import NTNU.IDATT1002.models.Album;
 import NTNU.IDATT1002.models.Tag;
 import NTNU.IDATT1002.service.AlbumDocument;
 import NTNU.IDATT1002.service.AlbumService;
+import NTNU.IDATT1002.service.TagService;
 import NTNU.IDATT1002.utils.ImageUtil;
 import java.io.File;
 import java.io.IOException;
@@ -63,6 +64,7 @@ public class ViewAlbum implements Initializable {
     @FXML
     public VBox albumTextContainer;
     public HBox albumImages;
+    public Button viewOnMapBtn;
 
     private AlbumService albumService;
     private Album currentAlbum;
@@ -87,8 +89,8 @@ public class ViewAlbum implements Initializable {
             NTNU.IDATT1002.models.Image titleImage = album.getImages().get(0);
             Image image = ImageUtil.convertToFXImage(titleImage);
             mainPicture.setImage(image);
-            pictureTitleField.setText("LEGG TIL BILDETITTEL HER");
-            pictureTagsField.setText("#LEGG #TIL #TAGS #HER");
+            pictureTitleField.setText(album.getTitle());
+            pictureTagsField.setText(TagService.getTagsAsString(album.getTags()));
             insertAlbumTextToContainer(album);
             for (NTNU.IDATT1002.models.Image i: album.getImages()) {
                 ImageView iV = new ImageView();
@@ -226,6 +228,7 @@ public class ViewAlbum implements Initializable {
      * @throws IOException
      */
     public void switchToMain(MouseEvent mouseEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("main");
     }
 
@@ -239,6 +242,7 @@ public class ViewAlbum implements Initializable {
         if (!tbar_search.getText().isEmpty()){
             App.ex.setSearchField(tbar_search.getText());
         }
+        App.ex.setChosenAlbumId(null);
         App.setRoot("search");
     }
 
@@ -248,6 +252,7 @@ public class ViewAlbum implements Initializable {
      * @throws IOException
      */
     public void switchToExplore(ActionEvent actionEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("explore");
     }
 
@@ -257,6 +262,7 @@ public class ViewAlbum implements Initializable {
      * @throws IOException
      */
     public void switchToAlbums(ActionEvent actionEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("explore_albums");
     }
 
@@ -266,6 +272,7 @@ public class ViewAlbum implements Initializable {
      * @throws IOException
      */
     public void switchToMap(ActionEvent actionEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("map");
     }
 
@@ -275,6 +282,7 @@ public class ViewAlbum implements Initializable {
      * @throws IOException this page does not exist
      */
     public void switchToUpload(ActionEvent actionEvent) throws IOException {
+        App.ex.setChosenAlbumId(null);
         App.setRoot("upload");
     }
 
@@ -346,4 +354,8 @@ public class ViewAlbum implements Initializable {
         HostServices hostServices = App.ex.getHostServices();
         hostServices.showDocument(file.getAbsolutePath());
     }
+
+    public void viewOnMap(ActionEvent actionEvent) throws IOException {
+        App.setRoot("map");
+    }
 }
diff --git a/src/main/resources/NTNU/IDATT1002/view_album.fxml b/src/main/resources/NTNU/IDATT1002/view_album.fxml
index 962d4a82858f32fe5b9faff51c413ee05e758c4d..2d190f4633bdadbfb46bc2351b43973ab5b775c6 100644
--- a/src/main/resources/NTNU/IDATT1002/view_album.fxml
+++ b/src/main/resources/NTNU/IDATT1002/view_album.fxml
@@ -100,11 +100,20 @@
                            </font>
                         </Text>
                         <Pane fx:id="metadataPane" prefHeight="304.0" prefWidth="700.0" style="-fx-background-color: #ffffff;" />
-                        <Button fx:id="createAlbumPdf" mnemonicParsing="false" onAction="#createPdf" text="CREATE ALBUM PDF">
-                           <font>
-                              <Font size="18.0" />
-                           </font>
-                        </Button>
+                        <HBox prefHeight="39.0" prefWidth="700.0" spacing="20.0">
+                           <children>
+                              <Button fx:id="createAlbumPdf" mnemonicParsing="false" onAction="#createPdf" text="CREATE ALBUM PDF">
+                                 <font>
+                                    <Font size="18.0" />
+                                 </font>
+                              </Button>
+                              <Button fx:id="viewOnMapBtn" mnemonicParsing="false" onAction="#viewOnMap" text="VIEW ON MAP">
+                                 <font>
+                                    <Font size="18.0" />
+                                 </font>
+                              </Button>
+                           </children>
+                        </HBox>
                      </children>
                   </VBox>
                </children>