try fix positioning

This commit is contained in:
Götz 2017-10-18 17:06:41 +02:00
parent 1aac4e1c15
commit 84c60a9402
4 changed files with 25 additions and 26 deletions

View File

@ -26,4 +26,5 @@ urlpatterns = [
# VGN
url(r'^bus/$', views.bus_connections, name='vgn-bus'),
url(r'^bus/(?P<vgn_coords>.+)/(?P<position>.+)/$', views.vgn_redirect, name='vgn-redirect'),
]

View File

@ -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 VGN_Coords
@ -32,3 +32,7 @@ def show_room(request, room):
def bus_connections(request):
locations = VGN_Coords.objects.all()
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)

View File

@ -3,25 +3,28 @@
*/
document.addEventListener('DOMContentLoaded', loadVGNPos);
function loadVGNPos() {
document.getElementById('vgn-links').style.visibility = "hidden";
getPos();
}
function getPos() {
var lat = 49.90734;
var lon = 10.90459;
lat = 49.90734;
lon = 10.90459;
if (navigator.geolocation) {
var geo_option = {
enableHighAccuracy: true
};
navigator.geolocation.getCurrentPosition(function (position) {
lat = position.coords.latitude;
lon = position.coords.longitude;
document.getElementById('position').innerHTML = "Lat:" + pos['lat'] + " Lon: " + pos['lon']
getVGNCoords(position.coords.latitude, position.coords.longitude)
}, function (err) {
console.log(err);
document.getElementById('err').textContent = "Leider konnte Ihre Position nicht ermittelt werden.";
}, geo_option)
}
return {'lat': lat, 'lon': lon};
}
function loadData(url) {
var address = document.getElementById('nav_data').getAttribute('data-address')
console.log("LOAD DATA")
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
@ -34,28 +37,19 @@ function loadData(url) {
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";
loadData(url);
}
function loadVGNPos() {
document.getElementsByTagName('body')[0].style.visibility = "hidden"
pos = getPos()
console.log(pos)
getVGNCoords(pos['lat'], pos['lon'])
}
function setVGNLinks(response) {
var type = response['ident']['type'];
var startpoint = response['ident']['name'];
console.log("Startpoint" + startpoint)
console.log("Startpoint" + 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;
connections[i].href = connections[i].href.replace('position', startpoint);
console.log(connections[i].href)
}
document.getElementsByTagName('body')[0].style.visibility = "visible"
document.getElementById('vgn-links').style.visibility = "visible"
}

View File

@ -7,14 +7,14 @@
<p class="text-center">Donar</p>
{% endblock %}
{% block content %}
<p id="position"></p>
<div class="row">
<p id="err"></p>
<div id="vgn-links" 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>
<a class="connection"
href="{{ url('vgn-redirect', args=[location.coords, 'position']) }}">{{ location.name }}</a>
</div>
</div>
{% endfor %}