commit
acfc7e547e
@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
@ -0,0 +1,26 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||
<option name="ignoredErrors">
|
||||
<list>
|
||||
<option value="E501" />
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||
<option name="ignoredErrors">
|
||||
<list>
|
||||
<option value="N813" />
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="ignoredIdentifiers">
|
||||
<list>
|
||||
<option value="str.findnth" />
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
||||
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptLibraryMappings">
|
||||
<file url="file://$PROJECT_DIR$" libraries="{jquery}" />
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (placesvisited)" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/placesvisited.iml" filepath="$PROJECT_DIR$/.idea/placesvisited.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="Flask">
|
||||
<option name="enabled" value="true" />
|
||||
</component>
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="jquery" level="application" />
|
||||
</component>
|
||||
<component name="TemplatesService">
|
||||
<option name="TEMPLATE_CONFIGURATION" value="Jinja2" />
|
||||
<option name="TEMPLATE_FOLDERS">
|
||||
<list>
|
||||
<option value="$MODULE_DIR$/../placesvisited\templates" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
</module>
|
||||
Binary file not shown.
@ -0,0 +1,44 @@
|
||||
from flask import Flask, render_template, Response, request, redirect, url_for
|
||||
import folium
|
||||
from geopy.geocoders import Nominatim
|
||||
|
||||
app = Flask(__name__)
|
||||
app.config["TEMPLATES_AUTO_RELOAD"] = True
|
||||
geolocator = Nominatim(user_agent="MyApp")
|
||||
|
||||
|
||||
def get_coordinates(town):
|
||||
location = geolocator.geocode(town)
|
||||
return location
|
||||
|
||||
|
||||
def save_map(zoom, latitude, longitude):
|
||||
map_folium = folium.Map(
|
||||
location=[latitude, longitude],
|
||||
zoom_start=zoom
|
||||
)
|
||||
map_folium.save('templates/map.html')
|
||||
return redirect(url_for("map_get"))
|
||||
|
||||
|
||||
@app.route("/map")
|
||||
def map_get():
|
||||
return render_template("interactiv_map.html")
|
||||
|
||||
|
||||
@app.get('/')
|
||||
def base_get():
|
||||
return render_template("index.html")
|
||||
|
||||
|
||||
@app.post('/')
|
||||
def base_post():
|
||||
zoom = request.form.get("zoom")
|
||||
town = request.form.get("town")
|
||||
if zoom and town is not None:
|
||||
save_map(zoom, get_coordinates(town).latitude, get_coordinates(town).longitude)
|
||||
return redirect(url_for("map_get"))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run()
|
||||
@ -0,0 +1,4 @@
|
||||
function onButtonClick() {
|
||||
let zoom = document.getElementById('submit_zoom').value;
|
||||
console.log(zoom)
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
body {
|
||||
background-color: #252526;
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
#bg {
|
||||
background-color: #252526;
|
||||
}
|
||||
|
||||
#map {
|
||||
margin: auto auto auto auto;
|
||||
|
||||
width: 80%;
|
||||
height: 800px;
|
||||
border: 2px solid red;
|
||||
float: left;
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<script type="text/javascript" src="/static/js/index.js"></script>
|
||||
<link rel="stylesheet" href='/static/styles/index.css'/>
|
||||
<title>Title</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id='container'>
|
||||
<h3>Test</h3>
|
||||
|
||||
|
||||
<form method="post">
|
||||
<div>
|
||||
<label for="zoom"></label>
|
||||
<input
|
||||
type="zoom"
|
||||
id="zoom"
|
||||
name="zoom"
|
||||
placeholder="10"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="Town"></label>
|
||||
<input
|
||||
type="town"
|
||||
id="town"
|
||||
name="town"
|
||||
placeholder="Groß-Gerau"
|
||||
/>
|
||||
</div>
|
||||
<br>
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href='/static/styles/map_stylesheet.css'/>
|
||||
<title>Map</title>
|
||||
</head>
|
||||
<body id="bg">
|
||||
|
||||
|
||||
<div id="map">
|
||||
{% include "map.html" %}
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,63 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
|
||||
<script>
|
||||
L_NO_TOUCH = false;
|
||||
L_DISABLE_3D = false;
|
||||
</script>
|
||||
|
||||
<style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
|
||||
<style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
|
||||
<script src="https://cdn.jsdelivr.net/npm/leaflet@1.6.0/dist/leaflet.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.6.0/dist/leaflet.css"/>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"/>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css"/>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css"/>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css"/>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css"/>
|
||||
|
||||
<meta name="viewport" content="width=device-width,
|
||||
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<style>
|
||||
#map_17adc0dc87bb20c185baafe563d404dd {
|
||||
position: relative;
|
||||
width: 100.0%;
|
||||
height: 100.0%;
|
||||
left: 0.0%;
|
||||
top: 0.0%;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="folium-map" id="map_17adc0dc87bb20c185baafe563d404dd" ></div>
|
||||
|
||||
</body>
|
||||
<script>
|
||||
|
||||
var map_17adc0dc87bb20c185baafe563d404dd = L.map(
|
||||
"map_17adc0dc87bb20c185baafe563d404dd",
|
||||
{
|
||||
center: [53.4165565, -2.2318734],
|
||||
crs: L.CRS.EPSG3857,
|
||||
zoom: "15",
|
||||
zoomControl: true,
|
||||
preferCanvas: false,
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var tile_layer_af766e66c63f3dc3f0282dbdf7826909 = L.tileLayer(
|
||||
"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||||
{"attribution": "Data by \u0026copy; \u003ca href=\"http://openstreetmap.org\"\u003eOpenStreetMap\u003c/a\u003e, under \u003ca href=\"http://www.openstreetmap.org/copyright\"\u003eODbL\u003c/a\u003e.", "detectRetina": false, "maxNativeZoom": 18, "maxZoom": 18, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}
|
||||
).addTo(map_17adc0dc87bb20c185baafe563d404dd);
|
||||
|
||||
</script>
|
||||
Loading…
Reference in new issue