summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--script.js44
1 files changed, 21 insertions, 23 deletions
diff --git a/script.js b/script.js
index 9382d29..d9086b8 100644
--- a/script.js
+++ b/script.js
@@ -1,27 +1,25 @@
+const LINKS = [
+ {
+ label: 'Google Maps',
+ url: 'https://www.google.com/maps/search/?api=1&query={lat},{lon}',
+ },
+ {
+ label: 'Apple Maps',
+ url: 'https://maps.apple.com/?q={lat},{lon}&t=m',
+ },
+ {
+ label: 'Default app',
+ url: 'geo:{lat},{lon}',
+ },
+ {
+ label: 'OpenStreetMap',
+ url: 'https://www.openstreetmap.org/?mlat={lat}&mlon={lon}&zoom=15&layers=M',
+ },
+];
+
const latlon = location.hash.substring(1);
const [lat, lon] = latlon.split(',');
-function getLinks(lat, lon) {
- return [
- {
- label: 'Google Maps',
- url: `https://www.google.com/maps/search/?api=1&query=${lat},${lon}`,
- },
- {
- label: 'Apple Maps',
- url: `https://maps.apple.com/?q=${lat},${lon}&t=m`
- },
- {
- label: 'Default app',
- url: `geo:${lat},${lon}`
- },
- {
- label: 'OpenStreetMap',
- url: `https://www.openstreetmap.org/?mlat=${lat}&mlon=${lon}&zoom=15&layers=M`
- },
- ]
-}
-
const heading = document.getElementById('heading');
// TODO: listen on hashChange
@@ -34,10 +32,10 @@ if (isNaN(lat) || isNaN(lon)) {
document.title = 'Open location';
- for (const link of getLinks(lat, lon)) {
+ for (const link of LINKS) {
const li = document.createElement('li');
const a = document.createElement('a');
- a.href = link.url;
+ a.href = link.url.replace('{lat}', lat).replace('{lon}', lon);
a.textContent = link.label;
li.appendChild(a);
linkList.appendChild(li);