@@ -0,0 +1,1692 @@
+package com.google.sps.servlets;%0A%0Aimport com.google.gson.Gson;%0Aimport java.io.IOException;%0Aimport java.util.ArrayList;%0Aimport java.util.Scanner;%0Aimport javax.servlet.annotation.WebServlet;%0Aimport javax.servlet.http.HttpServlet;%0Aimport javax.servlet.http.HttpServletRequest;%0Aimport javax.servlet.http.HttpServletResponse;%0A%0A/** Returns map data as a JSON array, e.g. %5B%7B%22lat%22: 38.4404675, %22lng%22: -122.7144313%7D%5D */%0A@WebServlet(%22/map-data%22)%0Apublic class MapServlet extends HttpServlet %7B%0A%0A    private class elementMap %7B%0A        double lat, lng;%0A        String name, description;%0A%0A        public elementMap(double lat, double lng, String name, String description) %7B%0A            this.lat = lat;%0A            this.lng = lng;%0A            this.name = name;%0A            this.description = description;%0A        %7D%0A    %7D%0A%0A    private ArrayList%3CelementMap%3E markers;%0A%0A    @Override%0A    public void init() %7B%0A        markers = new ArrayList%3CelementMap%3E();%0A%0A        Scanner scanner = new Scanner(getServletContext().getResourceAsStream(%22/WEB-INF/cities.csv%22));%0A        while (scanner.hasNextLine()) %7B%0A            String line = scanner.nextLine();%0A            String%5B%5D cells = line.split(%22,%22);%0A%0A            double lat = Double.parseDouble(cells%5B0%5D);%0A            double lng = Double.parseDouble(cells%5B1%5D);%0A%0A            markers.add(new elementMap(lat, lng, cells%5B2%5D, cells%5B3%5D));%0A        %7D%0A        scanner.close();%0A    %7D%0A%0A    @Override%0A    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException %7B%0A        response.setContentType(%22application/json%22);%0A        Gson gson = new Gson();%0A        String json = gson.toJson(markers);%0A        response.getWriter().println(json);%0A    %7D%0A%7D

Add the servlet that returns the map markers as JSON.