donar bus erweiterung

This commit is contained in:
Götz 2017-10-17 21:51:00 +02:00
parent 820036e960
commit 04194aeac8
5 changed files with 88 additions and 6 deletions

View File

@ -23,4 +23,7 @@ urlpatterns = [
url(r'^search/$', views.search_room, name='search-rooms'),
url(r'^search/(?P<room>.+/.+)/$', views.show_room, name='show-room'),
url(r'^search/(?P<room>.+)/$', views.show_room, name='show-room'),
# VGN
url(r'^bus/$', views.bus_connections, name='vgn-bus'),
]

View File

@ -30,4 +30,5 @@ def show_room(request, room):
def bus_connections(request):
return render(request, '')
locations = VGN_Coords.objects.all()
return render(request, 'donar/vgn_connections.jinja', {'locations': locations})

View File

@ -0,0 +1,66 @@
/**
* Created by michigg on 17.10.17.
*/
document.addEventListener('DOMContentLoaded', loadVGNPos);
function getPos() {
var lat = 49.8955663;
var lon = 10.886907899999999;
if (navigator.geolocation) {
var geo_option = {
enableHighAccuracy: true
};
navigator.geolocation.getCurrentPosition(function (position) {
console.log(position);
lat = position.coords.latitude;
lon = position.coords.longitude;
}, function (err) {
console.log(err.code);
console.log(err.message);
}, geo_option)
}
console.log(lat)
return {'lat': lat, 'lon': lon};
}
function loadData(url) {
var address = document.getElementById('nav_data').getAttribute('data-address')
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
console.log('receive')
if (this.readyState == 4 && this.status == 200) {
setVGNLinks(JSON.parse(this.response))
}
};
xhttp.open("GET", url, true);
xhttp.send();
}
function getVGNCoords(lat, lon) {
console.log("getVGNCoords: " + lat + "/" + lon)
var url = "https://www.vgn.de/ib/site/tools/VN_PointDetail.php?Edition=de&lat=" + lat + "&lon=" + lon + "&mode=fnSetFromEFA&mode2=origin&_=1508264908632";
console.log(url)
loadData(url);
}
function loadVGNPos() {
document.getElementsByTagName('body')[0].style.visibility = "hidden"
pos = getPos()
console.log(pos)
getVGNCoords(pos['lat'], pos['lon'])
}
function setVGNLinks(response) {
console.log("Get Response: " + response);
var type = response['ident']['type'];
var startpoint = response['ident']['name'];
console.log(startpoint)
var connections = document.getElementsByClassName('connection');
var destinations = document.getElementsByClassName('destination')
for (var i = 0; i < connections.length; i++) {
connections[i].href = 'https://www.vgn.de/verbindungen/?to=' + startpoint + '&td=' + destinations[i].innerHTML;
console.log(connections[i].href)
}
document.getElementsByTagName('body')[0].style.visibility = "visible"
}

View File

@ -8,7 +8,7 @@
<div class="row">
{{ macros.home_item_with_icon(icon='fa-map-o', url_id='search-rooms', title="Donar", icon_size='fa-3x') }}
{{ macros.home_item_with_icon(icon='fa-search', link='https://suche.wiai.de/', title="Roofis", icon_size='fa-3x') }}
{{ macros.home_item_with_icon(icon='fa-bus', url_id='', title='Bus und Bahn', icon_size='fa-3x') }}
{{ macros.home_item_with_icon(icon='fa-bus', url_id='vgn-bus', title='Bus und Bahn', icon_size='fa-3x') }}
</div>
</div>
{% endblock %}

View File

@ -1,10 +1,22 @@
{% extends 'base.jinja' %}
<!-- Make sure you put this AFTER Leaflet's CSS -->
{% block js_extra %}
<script id="nav_data" src="{{ static('js/donar/vgn.js') }}"></script>
{% endblock %}
{% block headline %}
<h1 class="text-center"> VGN Connections</h1>
<p>Donar</p>
<p class="text-center">Donar</p>
{% endblock %}
{% block content %}
{% for location in locations %}
{% endfor %}
<div class="row">
{% if locations %}
{% for location in locations %}
<div class="col-12 p-1">
<div class="p-2 border border-dark rounded-3 border border-dark rounded bg-light text-dark">
<a class="connection" href="">{{ location.name }}</a>
<p class="destination" hidden>{{ location.coords}}</p>
</div>
</div>
{% endfor %}
{% endif %}
</div>
{% endblock %}