summaryrefslogtreecommitdiff
path: root/public/static/js
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2019-05-05 12:30:34 +0200
committerDaniel Friesel <derf@finalrewind.org>2019-05-05 12:30:46 +0200
commit85636af26a6f5c266107e2f26f697bc9de0bb69d (patch)
tree72ed6806266b5f203b89d0643c87f0d358121e3d /public/static/js
parent8c23c960426bad133484bf127f5fc5b56af8e8c7 (diff)
do not perform useless geolocation lookups (#10)
Diffstat (limited to 'public/static/js')
-rw-r--r--public/static/js/geolocation.js10
-rw-r--r--public/static/js/geolocation.min.js2
2 files changed, 7 insertions, 5 deletions
diff --git a/public/static/js/geolocation.js b/public/static/js/geolocation.js
index 9cde56d..ccc8c3a 100644
--- a/public/static/js/geolocation.js
+++ b/public/static/js/geolocation.js
@@ -56,9 +56,11 @@ $(document).ready(function() {
}
};
- if (navigator.geolocation) {
- navigator.geolocation.getCurrentPosition(processLocation, processError);
- } else {
- showError('Standortanfragen werden von diesem Browser nicht unterstützt', '', null);
+ if ($('div.geolocation').length) {
+ if (navigator.geolocation) {
+ navigator.geolocation.getCurrentPosition(processLocation, processError);
+ } else {
+ showError('Standortanfragen werden von diesem Browser nicht unterstützt', '', null);
+ }
}
});
diff --git a/public/static/js/geolocation.min.js b/public/static/js/geolocation.min.js
index 11b5464..7862b5b 100644
--- a/public/static/js/geolocation.min.js
+++ b/public/static/js/geolocation.min.js
@@ -1 +1 @@
-$(document).ready(function(){var e=$("p.geolocationhint"),t=$("div.geolocation div.progress"),n=function(n,r,o){e.remove(),t.remove();var a=$(document.createElement("div"));a.attr("class","error"),a.text(r);var i=$(document.createElement("strong"));i.text(n),a.prepend(i),$("div.geolocation").append(a)},r=function(e){e.error?n("Backend-Fehler:",e.error):0==e.candidates.length?n("Keine Bahnhöfe in 70km Umkreis gefunden",""):(resultTable=$("<table><tbody></tbody></table>"),resultBody=resultTable.children(),$.each(e.candidates,function(e,t){var n=t.ds100,r=t.name,o=t.distance;o=o.toFixed(1);var a=$(document.createElement("a"));a.attr("href",n),a.text(r),resultBody.append('<tr><td><a href="/s/'+n+'">'+r+"</a></td></tr>")}),t.replaceWith(resultTable))},o=function(e){$.post("/geolocation",{lon:e.coords.longitude,lat:e.coords.latitude},r)},a=function(e){e.code==e.PERMISSION_DENIED?n("Standortanfrage nicht möglich.","Vermutlich fehlen die Rechte im Browser oder der Android Location Service ist deaktiviert."):e.code==e.POSITION_UNAVAILABLE?n("Standort konnte nicht ermittelt werden","(Service nicht verfügbar)"):e.code==e.TIMEOUT?n("Standort konnte nicht ermittelt werden","(Timeout)"):n("Standort konnte nicht ermittelt werden","(unbekannter Fehler)")};navigator.geolocation?navigator.geolocation.getCurrentPosition(o,a):n("Standortanfragen werden von diesem Browser nicht unterstützt","")});
+$(document).ready(function(){var e=$("p.geolocationhint"),t=$("div.geolocation div.progress"),n=function(n,r,o){e.remove(),t.remove();var a=$(document.createElement("div"));a.attr("class","error"),a.text(r);var i=$(document.createElement("strong"));i.text(n),a.prepend(i),$("div.geolocation").append(a)},r=function(e){e.error?n("Backend-Fehler:",e.error):0==e.candidates.length?n("Keine Bahnhöfe in 70km Umkreis gefunden",""):(resultTable=$("<table><tbody></tbody></table>"),resultBody=resultTable.children(),$.each(e.candidates,function(e,t){var n=t.ds100,r=t.name,o=t.distance;o=o.toFixed(1);var a=$(document.createElement("a"));a.attr("href",n),a.text(r),resultBody.append('<tr><td><a href="/s/'+n+'">'+r+"</a></td></tr>")}),t.replaceWith(resultTable))},o=function(e){$.post("/geolocation",{lon:e.coords.longitude,lat:e.coords.latitude},r)},a=function(e){e.code==e.PERMISSION_DENIED?n("Standortanfrage nicht möglich.","Vermutlich fehlen die Rechte im Browser oder der Android Location Service ist deaktiviert."):e.code==e.POSITION_UNAVAILABLE?n("Standort konnte nicht ermittelt werden","(Service nicht verfügbar)"):e.code==e.TIMEOUT?n("Standort konnte nicht ermittelt werden","(Timeout)"):n("Standort konnte nicht ermittelt werden","(unbekannter Fehler)")};$("div.geolocation").length&&(navigator.geolocation?navigator.geolocation.getCurrentPosition(o,a):n("Standortanfragen werden von diesem Browser nicht unterstützt",""))});