def add_new_location(): """Add user's new favorite location to map.""" user_id = session.get('user_id') location_id = int(request.form.get('location_id')) new_fav_loc = Fav_Loc(user_id=user_id, location_id=location_id) db.session.add(new_fav_loc) db.session.commit() location = Location.query.filter(Location.location_id == location_id).first() new_marker = Marker(location.location_name, location.longitude, location.latitude, location.location_id) marker_list = [] marker_geojson = new_marker.generate_geojson() marker_list.append(marker_geojson) marker_collection = geojson.FeatureCollection(marker_list) return jsonify(location_name=location.location_name, marker_collection=marker_collection)
def show_map(): """Renders main map view. Queries database for user's favorite locations and makes geoJSON feature collection to put markers on map.""" # print session user_id = session.get('user_id') user = User.query.filter_by(user_id=user_id).first() fav_loc = db.session.query(Location).join(Fav_Loc).filter(Fav_Loc.user_id == user_id).all() marker_list = [] locations = Location.query.all() for location in fav_loc: marker = Marker(location.location_name, location.longitude, location.latitude, location.location_id) marker_geojson = marker.generate_geojson() marker_list.append(marker_geojson) marker_collection = geojson.FeatureCollection(marker_list) return render_template("homepage.html", locations=locations, marker_collection=marker_collection, user=user, fav_loc=fav_loc)