try fix positioning
This commit is contained in:
parent
1aac4e1c15
commit
84c60a9402
@ -26,4 +26,5 @@ urlpatterns = [
|
|||||||
|
|
||||||
# VGN
|
# VGN
|
||||||
url(r'^bus/$', views.bus_connections, name='vgn-bus'),
|
url(r'^bus/$', views.bus_connections, name='vgn-bus'),
|
||||||
|
url(r'^bus/(?P<vgn_coords>.+)/(?P<position>.+)/$', views.vgn_redirect, name='vgn-redirect'),
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render, redirect
|
||||||
|
|
||||||
from apps.donar.models import Room
|
from apps.donar.models import Room
|
||||||
from apps.donar.models import VGN_Coords
|
from apps.donar.models import VGN_Coords
|
||||||
@ -32,3 +32,7 @@ def show_room(request, room):
|
|||||||
def bus_connections(request):
|
def bus_connections(request):
|
||||||
locations = VGN_Coords.objects.all()
|
locations = VGN_Coords.objects.all()
|
||||||
return render(request, 'donar/vgn_connections.jinja', {'locations': locations})
|
return render(request, 'donar/vgn_connections.jinja', {'locations': locations})
|
||||||
|
|
||||||
|
|
||||||
|
def vgn_redirect(request, position, vgn_coords):
|
||||||
|
return redirect('https://www.vgn.de/verbindungen/?to=' + position + '&td=' + vgn_coords)
|
||||||
|
|||||||
@ -3,25 +3,28 @@
|
|||||||
*/
|
*/
|
||||||
document.addEventListener('DOMContentLoaded', loadVGNPos);
|
document.addEventListener('DOMContentLoaded', loadVGNPos);
|
||||||
|
|
||||||
|
function loadVGNPos() {
|
||||||
|
document.getElementById('vgn-links').style.visibility = "hidden";
|
||||||
|
getPos();
|
||||||
|
}
|
||||||
|
|
||||||
function getPos() {
|
function getPos() {
|
||||||
var lat = 49.90734;
|
lat = 49.90734;
|
||||||
var lon = 10.90459;
|
lon = 10.90459;
|
||||||
if (navigator.geolocation) {
|
if (navigator.geolocation) {
|
||||||
var geo_option = {
|
var geo_option = {
|
||||||
enableHighAccuracy: true
|
enableHighAccuracy: true
|
||||||
};
|
};
|
||||||
navigator.geolocation.getCurrentPosition(function (position) {
|
navigator.geolocation.getCurrentPosition(function (position) {
|
||||||
lat = position.coords.latitude;
|
getVGNCoords(position.coords.latitude, position.coords.longitude)
|
||||||
lon = position.coords.longitude;
|
|
||||||
document.getElementById('position').innerHTML = "Lat:" + pos['lat'] + " Lon: " + pos['lon']
|
|
||||||
}, function (err) {
|
}, function (err) {
|
||||||
|
console.log(err);
|
||||||
|
document.getElementById('err').textContent = "Leider konnte Ihre Position nicht ermittelt werden.";
|
||||||
}, geo_option)
|
}, geo_option)
|
||||||
}
|
}
|
||||||
return {'lat': lat, 'lon': lon};
|
|
||||||
}
|
}
|
||||||
function loadData(url) {
|
function loadData(url) {
|
||||||
var address = document.getElementById('nav_data').getAttribute('data-address')
|
console.log("LOAD DATA")
|
||||||
|
|
||||||
var xhttp = new XMLHttpRequest();
|
var xhttp = new XMLHttpRequest();
|
||||||
xhttp.onreadystatechange = function () {
|
xhttp.onreadystatechange = function () {
|
||||||
if (this.readyState == 4 && this.status == 200) {
|
if (this.readyState == 4 && this.status == 200) {
|
||||||
@ -34,28 +37,19 @@ function loadData(url) {
|
|||||||
|
|
||||||
|
|
||||||
function getVGNCoords(lat, lon) {
|
function getVGNCoords(lat, lon) {
|
||||||
console.log("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";
|
var url = "https://www.vgn.de/ib/site/tools/VN_PointDetail.php?Edition=de&lat=" + lat + "&lon=" + lon + "&mode=fnSetFromEFA&mode2=origin&_=1508264908632";
|
||||||
loadData(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) {
|
function setVGNLinks(response) {
|
||||||
var type = response['ident']['type'];
|
var type = response['ident']['type'];
|
||||||
var startpoint = response['ident']['name'];
|
var startpoint = response['ident']['name'];
|
||||||
console.log("Startpoint" + startpoint)
|
console.log("Startpoint" + startpoint);
|
||||||
var connections = document.getElementsByClassName('connection');
|
var connections = document.getElementsByClassName('connection');
|
||||||
var destinations = document.getElementsByClassName('destination')
|
|
||||||
for (var i = 0; i < connections.length; i++) {
|
for (var i = 0; i < connections.length; i++) {
|
||||||
connections[i].href = 'https://www.vgn.de/verbindungen/?to=' + startpoint + '&td=' + destinations[i].innerHTML;
|
connections[i].href = connections[i].href.replace('position', startpoint);
|
||||||
console.log(connections[i].href)
|
console.log(connections[i].href)
|
||||||
}
|
}
|
||||||
document.getElementsByTagName('body')[0].style.visibility = "visible"
|
document.getElementById('vgn-links').style.visibility = "visible"
|
||||||
}
|
}
|
||||||
@ -7,14 +7,14 @@
|
|||||||
<p class="text-center">Donar</p>
|
<p class="text-center">Donar</p>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<p id="position"></p>
|
<p id="err"></p>
|
||||||
<div class="row">
|
<div id="vgn-links" class="row">
|
||||||
{% if locations %}
|
{% if locations %}
|
||||||
{% for location in locations %}
|
{% for location in locations %}
|
||||||
<div class="col-12 p-1">
|
<div class="col-12 p-1">
|
||||||
<div class="p-2 border border-dark rounded-3 border border-dark rounded bg-light text-dark">
|
<div class="p-2 border border-dark rounded-3 border border-dark rounded bg-light text-dark">
|
||||||
<a class="connection" href="">{{ location.name }}</a>
|
<a class="connection"
|
||||||
<p class="destination" hidden>{{ location.coords }}</p>
|
href="{{ url('vgn-redirect', args=[location.coords, 'position']) }}">{{ location.name }}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
Reference in New Issue
Block a user