MyLocation added mylocation.app.js
parent
0e3b17be67
commit
4669099645
|
|
@ -4571,6 +4571,7 @@
|
||||||
"type": "app",
|
"type": "app",
|
||||||
"supports": ["BANGLEJS", "BANGLEJS2"],
|
"supports": ["BANGLEJS", "BANGLEJS2"],
|
||||||
"storage": [
|
"storage": [
|
||||||
|
{"name":"mylocation.apps.js","url":"mylocation.app.js"},
|
||||||
{"name":"mylocation.settings.js","url":"mylocation.settings.js"},
|
{"name":"mylocation.settings.js","url":"mylocation.settings.js"},
|
||||||
{"name":"mylocation.img","url":"mylocation.icon.js","evaluate": true }
|
{"name":"mylocation.img","url":"mylocation.icon.js","evaluate": true }
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
Bangle.loadWidgets();
|
||||||
|
Bangle.drawWidgets();
|
||||||
|
|
||||||
|
const SETTINGS_FILE = "mylocation.json";
|
||||||
|
|
||||||
|
// initialize with default settings...
|
||||||
|
let s = {
|
||||||
|
'lat': 51.5072,
|
||||||
|
'lon': 0.1276,
|
||||||
|
'location': "London"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ...and overwrite them with any saved values
|
||||||
|
// This way saved values are preserved if a new version adds more settings
|
||||||
|
const storage = require('Storage')
|
||||||
|
let settings = storage.readJSON(SETTINGS_FILE, 1) || {}
|
||||||
|
const saved = settings || {}
|
||||||
|
for (const key in saved) {
|
||||||
|
s[key] = saved[key]
|
||||||
|
}
|
||||||
|
|
||||||
|
function save() {
|
||||||
|
settings = s
|
||||||
|
storage.write(SETTINGS_FILE, settings)
|
||||||
|
}
|
||||||
|
|
||||||
|
const locations = ["London", "Newcastle", "Edinburgh", "Paris", "New York", "Tokyo","???"];
|
||||||
|
const lats = [51.5072 ,54.9783 ,55.9533 ,48.8566 ,40.7128 ,35.6762, 0.0];
|
||||||
|
const lons = [-0.1276 ,-1.6178 ,-3.1883 ,2.3522 , -74.0060 ,139.6503, 0.0];
|
||||||
|
|
||||||
|
function setFromGPS() {
|
||||||
|
console.log("set from GPS");
|
||||||
|
Bangle.setGPSPower(1);
|
||||||
|
E.showMessage("Waiting for GPS fix. Place watch in the open. Could take 10 minutes. Long press to abort", "GPS Running");
|
||||||
|
Bangle.setUI("updown", undefined);
|
||||||
|
}
|
||||||
|
|
||||||
|
Bangle.on('GPS', (gps) => {
|
||||||
|
//console.log(".");
|
||||||
|
if (gps.fix === 0) return;
|
||||||
|
//console.log("fix from GPS");
|
||||||
|
s = {'lat': gps.lat, 'lon': gps.lon, 'location': '???' }
|
||||||
|
Bangle.buzz(1500); // buzz on first position
|
||||||
|
Bangle.setGPSPower(0);
|
||||||
|
save();
|
||||||
|
|
||||||
|
Bangle.setUI("updown", ()=>{ load() });
|
||||||
|
E.showPrompt("Location has been saved from the GPS fix",{
|
||||||
|
title:"Location Saved",
|
||||||
|
buttons : {"OK":1}
|
||||||
|
}).then(function(v) {
|
||||||
|
load(); // load default clock
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
E.showMenu({
|
||||||
|
'': { 'title': 'My Location' },
|
||||||
|
'< Back': back,
|
||||||
|
'City': {
|
||||||
|
value: 0 | locations.indexOf(s.location),
|
||||||
|
min: 0, max: 6,
|
||||||
|
format: v => locations[v],
|
||||||
|
onchange: v => {
|
||||||
|
if (v != 6) {
|
||||||
|
s.location = locations[v];
|
||||||
|
s.lat = lats[v];
|
||||||
|
s.lon = lons[v];
|
||||||
|
save();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'Set From GPS': ()=>setFromGPS()
|
||||||
|
});
|
||||||
|
|
@ -1,73 +1,4 @@
|
||||||
(function(back) {
|
(function(back) {
|
||||||
const SETTINGS_FILE = "mylocation.json";
|
// just go right to our app
|
||||||
|
load("mylocation.app.js");
|
||||||
// initialize with default settings...
|
})();
|
||||||
let s = {
|
|
||||||
'lat': 51.5072,
|
|
||||||
'lon': 0.1276,
|
|
||||||
'location': "London"
|
|
||||||
}
|
|
||||||
|
|
||||||
// ...and overwrite them with any saved values
|
|
||||||
// This way saved values are preserved if a new version adds more settings
|
|
||||||
const storage = require('Storage')
|
|
||||||
let settings = storage.readJSON(SETTINGS_FILE, 1) || {}
|
|
||||||
const saved = settings || {}
|
|
||||||
for (const key in saved) {
|
|
||||||
s[key] = saved[key]
|
|
||||||
}
|
|
||||||
|
|
||||||
function save() {
|
|
||||||
settings = s
|
|
||||||
storage.write(SETTINGS_FILE, settings)
|
|
||||||
}
|
|
||||||
|
|
||||||
const locations = ["London", "Newcastle", "Edinburgh", "Paris", "New York", "Tokyo","???"];
|
|
||||||
const lats = [51.5072 ,54.9783 ,55.9533 ,48.8566 ,40.7128 ,35.6762, 0.0];
|
|
||||||
const lons = [-0.1276 ,-1.6178 ,-3.1883 ,2.3522 , -74.0060 ,139.6503, 0.0];
|
|
||||||
|
|
||||||
E.showMenu({
|
|
||||||
'': { 'title': 'My Location' },
|
|
||||||
'< Back': back,
|
|
||||||
'City': {
|
|
||||||
value: 0 | locations.indexOf(s.location),
|
|
||||||
min: 0, max: 6,
|
|
||||||
format: v => locations[v],
|
|
||||||
onchange: v => {
|
|
||||||
if (v != 6) {
|
|
||||||
s.location = locations[v];
|
|
||||||
s.lat = lats[v];
|
|
||||||
s.lon = lons[v];
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'Set From GPS': ()=>setFromGPS()
|
|
||||||
})
|
|
||||||
|
|
||||||
function setFromGPS() {
|
|
||||||
console.log("set from GPS");
|
|
||||||
Bangle.setGPSPower(1);
|
|
||||||
E.showMessage("Waiting for GPS fix. Place watch in the open. Could take 10 minutes. Long press to abort", "GPS Running");
|
|
||||||
Bangle.setUI("updown", undefined);
|
|
||||||
}
|
|
||||||
|
|
||||||
Bangle.on('GPS', (gps) => {
|
|
||||||
//console.log(".");
|
|
||||||
if (gps.fix === 0) return;
|
|
||||||
//console.log("fix from GPS");
|
|
||||||
s = {'lat': gps.lat, 'lon': gps.lon, 'location': '???' }
|
|
||||||
Bangle.buzz(1500); // buzz on first position
|
|
||||||
Bangle.setGPSPower(0);
|
|
||||||
save();
|
|
||||||
|
|
||||||
Bangle.setUI("updown", ()=>{ load() });
|
|
||||||
E.showPrompt("Location has been saved from the GPS fix",{
|
|
||||||
title:"Location Saved",
|
|
||||||
buttons : {"OK":1}
|
|
||||||
}).then(function(v) {
|
|
||||||
load(); // load default clock
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue