+
get me there
-
diff --git a/application/index.js b/application/index.js
index 9e69a25b..c3f5e444 100644
--- a/application/index.js
+++ b/application/index.js
@@ -116,6 +116,7 @@ let status = {
screenOff: false,
follow_path: false,
select_gpx: false,
+ notKaiOS: false,
};
let tracking = {};
@@ -157,7 +158,7 @@ if ("b2g" in Navigator) {
//leaflet add basic map
map = new L.map("map-container", {
zoomControl: false,
- dragging: false,
+ dragging: true,
keyboard: true,
});
@@ -370,14 +371,48 @@ document.addEventListener("DOMContentLoaded", function () {
.querySelector("div#overpass")
.insertAdjacentHTML(
"afterend",
- '
Drinking water Layer
'
+ '
Public transport
'
);
document
.querySelector("div#overpass")
.insertAdjacentHTML(
"afterend",
- '
public transport Layer
'
+ '
Hospital
'
+ );
+
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Drinking water
'
+ );
+
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Camping
'
+ );
+
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Hotel
'
+ );
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Restaurant
'
+ );
+
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Bar
'
);
find_gpx();
@@ -1241,6 +1276,13 @@ document.addEventListener("DOMContentLoaded", function () {
) {
let item_value = document.activeElement.getAttribute("data-action");
+ if (item_value == "share") {
+ mozactivity.share_position();
+ document.querySelector("div#markers-option").style.display = "none";
+ helper.bottom_bar("", "", "");
+ status.windowOpen = "map";
+ }
+
if (item_value == "auto_update_route") {
routing.active = true;
routing.auto_routing = true;
@@ -1939,7 +1981,6 @@ document.addEventListener("DOMContentLoaded", function () {
let b = document.activeElement.closest("div.menu-box");
let items_list = b.querySelectorAll(".item");
- console.log(items_list.length);
if (move == "+1") {
if (tabIndex < items_list.length - 1) {
diff --git a/application/manifest.webapp b/application/manifest.webapp
index 2166ab40..60e2acae 100644
--- a/application/manifest.webapp
+++ b/application/manifest.webapp
@@ -1,5 +1,5 @@
{
- "version": "1.9.792",
+ "version": "1.9.794",
"version_name": "hotline",
"name": "o.map",
"description": "O.map, your ultimate navigation companion for KaiOS-powered devices. O.map is a lightweight and feature-rich map application designed specifically for KaiOS, enabling you to explore and navigate the world with ease. Whether you're a local resident, a tourist, or an adventurer, O.map is here to enhance your journey and keep you on the right track.",
diff --git a/application/manifest.webmanifest b/application/manifest.webmanifest
index d39709df..4032d339 100644
--- a/application/manifest.webmanifest
+++ b/application/manifest.webmanifest
@@ -5,6 +5,7 @@
"lang": "en-US",
"start_url": "/index.html",
"priority": "high",
+ "display": "standalone",
"userAgentInfo": "o.map written by strukturart@gmail.com",
"icons": [
@@ -18,10 +19,37 @@
"type": "image/png",
"sizes": "112x112"
}
+ {
+ "src": "assets/icons/favicon.ico",
+ "type": "image/x-icon",
+ "sizes": "16x16 32x32"
+ },
+ {
+ "src": "assets/icons/icon-192.png",
+ "type": "image/png",
+ "sizes": "192x192"
+ },
+ {
+ "src": "assets/icons/icon-512.png",
+ "type": "image/png",
+ "sizes": "512x512"
+ },
+ {
+ "src": "assets/icons/icon-192-maskable.png",
+ "type": "image/png",
+ "sizes": "192x192",
+ "purpose": "maskable"
+ },
+ {
+ "src": "assets/icons/icon-512-maskable.png",
+ "type": "image/png",
+ "sizes": "512x512",
+ "purpose": "maskable"
+ }
],
"b2g_features": {
- "version": "2.0.96",
+ "version": "2.0.98",
"id": "o.map",
"core": true,
"categories": ["utilities"],
diff --git a/build.sh b/build.sh
index c85d9017..2a44e86a 100755
--- a/build.sh
+++ b/build.sh
@@ -29,3 +29,4 @@ rm ./application.zip
# Copy website files to docs directory
cd ..
cp -r application/* docs/
+rm docs/manifest.webapp
diff --git a/docs/apps-ads.txt b/docs/apps-ads.txt
new file mode 100644
index 00000000..e4777d90
--- /dev/null
+++ b/docs/apps-ads.txt
@@ -0,0 +1,281 @@
+mars.media, 107588, DIRECT, 8624339f102fb076
+improvedigital.com, 1221, RESELLER
+pubmatic.com, 160194, RESELLER, 5d62403b186f2ace
+improvedigital.com, 1210, RESELLER
+castify.ai, 127588, DIRECT
+conversantmedia.com, 100293, RESELLER, 03113cd04947736d
+improvedigital.com, 1662, RESELLER
+themediagrid.com, PLTXGE, RESELLER, 35d5010d7789b49d
+themediagrid.com, YUPM3V, RESELLER, 35d5010d7789b49d
+appnexus.com, 12223, RESELLER, f5ab79cb980f11d1
+smartadserver.com, 4039, RESELLER
+improvedigital.com, 1341, RESELLER
+appnexus.com, 13074, RESELLER, f5ab79cb980f11d1
+aol.com, 59025, RESELLER, e1a5b5b6e3255540
+yahoo.com, 59025, RESELLER, e1a5b5b6e3255540
+rhythmone.com, 4270213217, RESELLER, a670c89d4a324e47
+smaato.com, 1100050531, RESELLER, 07bcf65f187117b4
+conversantmedia.com, 100343, RESELLER, 03113cd04947736d
+video.unrulymedia.com, 4270213217, RESELLER
+sonobi.com, a7c3746d6a, RESELLER, d1a215d9eb5aee9e
+yieldmo.com, 2888605025750164242, RESELLER
+gitberry.com, 64Q, DIRECT
+pubmatic.com, 160195, RESELLER, 5d62403b186f2ace
+beachfront.com, 805, RESELLER, e2541279e8e2ca4d
+mars.media, 107588, DIRECT, 8624339f102fb076
+beachfront.com, 805, RESELLER, e2541279e8e2ca4d
+improvedigital.com, 1210, RESELLER
+improvedigital.com, 1221, RESELLER
+improvedigital.com, 1341, RESELLER
+appnexus.com, 12223, RESELLER, f5ab79cb980f11d1
+pubmatic.com, 160195, RESELLER, 5d62403b186f2ace
+pubmatic.com, 160194, RESELLER, 5d62403b186f2ace
+gitberry.com, 64Q, DIRECT
+improvedigital.com, 1662, RESELLER
+castify.ai, 127588, DIRECT
+smartadserver.com, 4039, RESELLER
+sonobi.com, a7c3746d6a, RESELLER, d1a215d9eb5aee9e
+conversantmedia.com, 100293, RESELLER, 03113cd04947736d
+appnexus.com, 13074, RESELLER, f5ab79cb980f11d1
+aol.com, 59025, RESELLER, e1a5b5b6e3255540
+yahoo.com, 59025, RESELLER, e1a5b5b6e3255540
+indexexchange.com, 195812, RESELLER, 50b1c356f2c5c8fc
+yieldmo.com, 2888605025750164242, RESELLER
+themediagrid.com, PLTXGE, RESELLER, 35d5010d7789b49d
+themediagrid.com, YUPM3V, RESELLER, 35d5010d7789b49d
+video.unrulymedia.com, 4270213217, RESELLER
+rhythmone.com, 4270213217, RESELLER, a670c89d4a324e47
+smaato.com, 1100050531, RESELLER, 07bcf65f187117b4
+conversantmedia.com, 100343, RESELLER, 03113cd04947736d
+admixer.net, b6d49994-83c5-4ff9-aa8a-c9eb99d1bc8c, RESELLER
+contextweb.com, 558827, DIRECT, 89ff185a4c4e857c
+contextweb.com, 562067, DIRECT, 89ff185a4c4e857c
+appnexus.com, 12061, RESELLER, f5ab79cb980f11d1
+freewheel.tv, 1163473, RESELLER
+newborntown.com, 108961, DIRECT
+fout.jp, 1151, DIRECT
+spotxchange.com, 246977, RESELLER, 7842df1d2fe2db34
+spotx.tv, 246977, RESELLER, 7842df1d2fe2db34
+tappx.com, 22230, RESELLER, 9f375a07da0318ec
+adcolony.com, c490f6e7399a25d6, RESELLER, 1ad675c9de6b5176
+appnexus.com, 10824, RESELLER, f5ab79cb980f11d1
+appnexus.com, 9569, RESELLER, f5ab79cb980f11d1
+chartboost.com, 5da62a1035b91e0aff190bf7, RESELLER
+groundtruth.com, 107, RESELLER, 81cbf0a75a5e0e9a
+inmobi.com, ec6f6ceb8bb1440ba5455644ec96c275, RESELLER, 83e75a7ae333ca9d
+pubmatic.com, 156435, RESELLER, 5d62403b186f2ace
+pubmatic.com, 158111, RESELLER, 5d62403b186f2ace
+pubmatic.com, 158112, RESELLER, 5d62403b186f2ace
+pubmatic.com, 92509, RESELLER, 5d62403b186f2ace
+rubiconproject.com, 13856, RESELLER, 0bfd66d529a55807
+smartadserver.com, 1692, RESELLER
+google.com, pub-8207541904035788, DIRECT, f08c47fec0942fa0
+openx.com, 540163881, RESELLER, 6a698e2ec38604c6
+mobuppsrtb.com, 0fd7e4f42a8b4b4ef33394d35212b13e, DIRECT
+loopme.com, 11185, DIRECT, 6c8d5f95897a5a3b
+improvedigital.com, 1785, DIRECT
+meitu.com, 433, DIRECT
+admatic.com.tr, adm-pub-185375301865, DIRECT
+airnow.com, 403001, DIRECT
+airnow.com, 404001, DIRECT
+onetag.com, 5e0db5c3f1904a6, DIRECT
+admixer.net, 81aedb7e-ca73-4498-997c-74f3b92481ea, DIRECT
+mobirtb.com, 137, DIRECT
+ucfunnel.com, pub-627D23D82BA9DE2EFE344BA8B788D683, DIRECT
+aralego.com, pub-627D23D82BA9DE2EFE344BA8B788D683, DIRECT
+adiiix.com, pub-627D23D82BA9DE2EFE344BA8B788D683, DIRECT
+rtb.gamoshi.io, 267-b850, RESELLER
+sovrn.com, 299269, DIRECT, fafdf38b16bf6b2b
+lijit.com, 299269, DIRECT, fafdf38b16bf6b2b
+onetag.com, 59d216e971852f2, RESELLER
+appnexus.com, 3153, RESELLER, f5ab79cb980f11d1
+meitu.com, 251, RESELLER
+pubmatic.com, 157654, RESELLER, 5d62403b186f2ace
+adcolony.com, f858ba060bce51ad, RESELLER, 1ad675c9de6b5176
+openx.com, 540899687, RESELLER, 6a698e2ec38604c6
+rubiconproject.com, 18224, RESELLER, 0bfd66d529a55807
+smartadserver.com, 1894, RESELLER
+smartadserver.com, 3445, RESELLER
+appnexus.com, 10490, RESELLER, f5ab79cb980f11d1
+supply.colossusssp.com, 211, DIRECT, 6c5b49d96ec1b458
+admixer.net, 81aedb7e-ca73-4498-997c-74f3b92481ea, RESELLER
+aralego.com, par-D232D76A227923DA1D28D94AA9699AE8, RESELLER
+ucfunnel.com, par-D232D76A227923DA1D28D94AA9699AE8, RESELLER
+cmcm.com, 127, RESELLER
+rhythmone.com, 3900035207, RESELLER, a670c89d4a324e47
+indexexchange.com, 182257, RESELLER, 50b1c356f2c5c8fc
+spotxchange.com, 285547, RESELLER, 7842df1d2fe2db34
+spotx.tv, 285547, RESELLER, 7842df1d2fe2db34
+video.unrulymedia.com, 3900035207, RESELLER
+advangelists.com, 1be3bc32e6564055d5ca3e5a354acbef, DIRECT, 60d26397ec060f98
+adform.com, 2600, DIRECT
+stroeer.com, 14214, DIRECT
+contextweb.com, 558750, DIRECT, 89ff185a4c4e857c
+mobuppsrtb.com, c74d97b01eae257e44aa9d5bade97baf4471, RESELLER
+improvedigital.com, 1785, RESELLER
+indexexchange.com, 192104, DIRECT, 50b1c356f2c5c8fc
+improvedigital.com, 912, RESELLER
+pubmatic.com, 159078, RESELLER, 5d62403b186f2ace
+stroeer.com, 17938, DIRECT
+improvedigital.com, 1275, RESELLER
+pubmatic.com, 159831, DIRECT, 5d62403b186f2ace
+pubmatic.com, 159897, RESELLER, 5d62403b186f2ace
+appnexus.com, 8217, RESELLER, f5ab79cb980f11d1
+openx.com, 540011801, RESELLER, 6a698e2ec38604c6
+loopme.com, 11281, RESELLER, 6c8d5f95897a5a3b
+meitu.com, 253, DIRECT
+smartyads.com, 1406, DIRECT, fd2bde0ff2e62c5d
+smartyads.com, 1373, DIRECT, fd2bde0ff2e62c5d
+smartyads.com, 1725, DIRECT, fd2bde0ff2e62c5d
+improvedigital.com, 1797, RESELLER
+sovrn.com, 289960, RESELLER, fafdf38b16bf6b2b
+pubmatic.com, 158651, RESELLER, 5d62403b186f2ace
+freewheel.tv, 1073329, RESELLER
+freewheel.tv, 1073345, RESELLER
+onetag.com, 5e3b68a4a263f95, RESELLER
+waardex.com, 112907, DIRECT
+epom.com, 9640d532-1239-4845-bb8e-0dc447b7b915, RESELLER, a05085f3142a1ca8
+tappx.com, 33376, DIRECT, 9f375a07da0318ec
+improvedigital.com, 1678, RESELLER
+loopme.com, 11272, RESELLER, 6c8d5f95897a5a3b
+rubiconproject.com, 20744, RESELLER, 0bfd66d529a55807
+openx.com, 540298543, RESELLER, 6a698e2ec38604c6
+pubmatic.com, 158154, RESELLER, 5d62403b186f2ace
+engagebdr.com, 80, DIRECT
+vyadd.com, 12854, RESELLER
+improvedigital.com, 1714, RESELLER
+web3.us.com, 63207, DIRECT
+mgid.com, 505794, DIRECT, d4c29acad76ce94f
+admixer.net, 54355ed6-7634-45fe-b731-5e4e5a8515b9, DIRECT
+e-planning.net, ec771b05828a67fa, RESELLER, c1ba615865ed87b2
+sovrn.com, 268876, RESELLER, fafdf38b16bf6b2b
+lijit.com, 268876, RESELLER, fafdf38b16bf6b2b
+openx.com, 541031350, RESELLER, 6a698e2ec38604c6
+improvedigital.com, 1556, RESELLER
+axonix.com, 56222, RESELLER
+contextweb.com, 562309, RESELLER, 89ff185a4c4e857c
+conversantmedia.com, 100066, RESELLER, 03113cd04947736d
+rubiconproject.com, 12186, RESELLER, 0bfd66d529a55807
+onetag.com, 59d216e971852f2, DIRECT
+betweendigital.com, 43070, DIRECT
+rubiconproject.com, 19724, RESELLER, 0bfd66d529a55807
+google.com, pub-5289985627731322, RESELLER, f08c47fec0942fa0
+meitu.com, 251, DIRECT
+cmcm.com, 127, DIRECT
+germaniavid.com, d9d4f495e875a2e075a1a4a6e1b9770f6900, RESELLER
+improvedigital.com, 1728, RESELLER
+admixer.net, c9ed39e8-724d-4012-ae61-38a5ac81bb0e, DIRECT
+betweendigital.com, 43070, RESELLER
+streamkey.tv, 3070, RESELLER, f5ab793he40f11d1
+telaria.com, j5en0-29eta, RESELLER, 1a4e959a1b50034a
+meitu.com, 479, RESELLER
+sonobi.com, 2b21773f25, DIRECT, d1a215d9eb5aee9e
+rhythmone.com, 1059622079, RESELLER, a670c89d4a324e47
+contextweb.com, 560606, RESELLER, 89ff185a4c4e857c
+rubiconproject.com, 22982, DIRECT, 0bfd66d529a55807
+taboola.com, 1304158, DIRECT, c228e6794e811952
+spotx.tv, 71451, RESELLER, 7842df1d2fe2db34
+quantumdex.io, EXU5919, RESELLER
+ssp.e-volution.ai, AJxF6R108a9M6CaTvK, RESELLER
+lunamedia.io, 3b57f8b19b67a806513dec9b47557783, RESELLER, 524ecb396915caaf
+themediagrid.com, R28I9J, RESELLER, 35d5010d7789b49d
+pubmatic.com, 160493, RESELLER, 5d62403b186f2ace
+betweendigital.com, 43092, RESELLER
+ssp.logan.ai, AJxF6R2a9M6CaTvK, RESELLER
+spotxchange.com, 71451, RESELLER, 7842df1d2fe2db34
+advertising.com, 8603, RESELLER
+pubmatic.com, 156307, RESELLER, 5d62403b186f2ace
+appnexus.com, 3364, RESELLER, f5ab79cb980f11d1
+indexexchange.com, 183756, RESELLER, 50b1c356f2c5c8fc
+contextweb.com, 560382, RESELLER, 89ff185a4c4e857c
+openx.com, 539154393, RESELLER, 6a698e2ec38604c6
+tremorhub.com, z87wm, RESELLER, 1a4e959a1b50034a
+rubiconproject.com, 16698, RESELLER, 0bfd66d529a55807
+freewheel.tv, 799921, RESELLER
+rhythmone.com, 1166984029, RESELLER, a670c89d4a324e47
+smartadserver.com, 3563, RESELLER
+beachfront.com, 13749, RESELLER, e2541279e8e2ca4d
+advertising.com, 28458, RESELLER
+emxdgt.com, 1643, RESELLER, 1e1d41537f7cad7f
+improvedigital.com, 1577, RESELLER
+video.unrulymedia.com, 1166984029, RESELLER
+video.unrulymedia.com, 2252555169, DIRECT
+rhythmone.com, 2252555169, DIRECT, a670c89d4a324e47
+gamoshi.io, 267-b4657, DIRECT
+gamoshi.io, 267-b4657, RESELLER
+sonobi.com, 94997de4e6, DIRECT, d1a215d9eb5aee9e
+inmobi.com, 30f3571d1dec45cf80d13b74ed1fffb2, RESELLER, 83e75a7ae333ca9d
+kaiads.com, 37907027-6df6-40cd-a683-98a5bb5f3da2, DIRECT
+conversantmedia.com, 100264, RESELLER, 03113cd04947736d
+adform.com, 2795, RESELLER
+admixer.co.kr, 1538, RESELLER
+ssp.logan.ai, LG4, RESELLER
+betweendigital.com, 43837, RESELLER
+outbrain.com, 0052a1ede0a266bb35758ae42f0a6f91db, DIRECT
+appnexus.com, 7597, RESELLER, f5ab79cb980f11d1
+tremorhub.com, q017o-78mlk, RESELLER, 1a4e959a1b50034a
+teads.tv, 15429, RESELLER, 15a9c44f6d26cbe1
+advertising.com, 26154, RESELLER
+spotxchange.com, 225721, RESELLER
+freewheel.tv, 741650, RESELLER
+rubiconproject.com, 17130, RESELLER, 0bfd66d529a55807
+lkqd.net, 450, RESELLER, 59c49fa9598a0117
+openx.com, 540393169, RESELLER, 6a698e2ec38604c6
+spotx.tv, 238936, RESELLER, 7842df1d2fe2db34
+spotxchange.com, 238936, RESELLER, 7842df1d2fe2db34
+advertising.com, 28038, RESELLER
+rubiconproject.com, 19668, RESELLER, 0bfd66d529a55807
+indexexchange.com, 190856, RESELLER, 50b1c356f2c5c8fc
+pubmatic.com, 158615, RESELLER, 5d62403b186f2ace
+vidazoo.com, 1773068026, RESELLER, b6ada874b4d7d0b2
+lkqd.net, 602, RESELLER, 59c49fa9598a0117
+beachfront.com, 14027, RESELLER, e2541279e8e2ca4d
+smartadserver.com, 3820, RESELLER
+rhythmone.com, 367782854, RESELLER, a670c89d4a324e47
+video.unrulymedia.com, 367782854, RESELLER
+indexexchange.com, 193091, RESELLER, 50b1c356f2c5c8fc
+pubmatic.com, 160065, RESELLER, 5d62403b186f2ace
+synacor.com, 82423, RESELLER, e108f11b2cdf7d5b
+improvedigital.com, 1863, RESELLER
+freewheel.tv, 1220655, RESELLER
+smaato.com, 1100048704, RESELLER, 07bcf65f187117b4
+vidoomy.com, 61107, RESELLER
+contextweb.com, 562145, RESELLER, 89ff185a4c4e857c
+mobupps.com, c74d97b01eae257e44aa9d5bade97baf4471, DIRECT
+catapultx.com, 141027, DIRECT
+e-planning.net,90db94ab9bfec725,DIRECT,c1ba615865ed87b2
+betweendigital.com, 43807, DIRECT
+supply.colossusssp.com, 285, DIRECT, 6c5b49d96ec1b458
+appnexus.com,10490,RESELLER, f5ab79cb980f11d1
+contextweb.com,562060,DIRECT, 89ff185a4c4e857c
+rhythmone.com,2147483647,RESELLER, a670c89d4a324e47
+video.unrulymedia.com,2147483647,RESELLER, a670c89d4a324e47
+pubmatic.com,160114,RESELLER, 5d62403b186f2ace
+tpmn.io, 505, RESELLER
+inmobi.com, ab915bcef5b24940bf745f1a8f427bec, RESELLER, 83e75a7ae333ca9d
+rubiconproject.com, 11726, RESELLER, 0bfd66d529a55807
+tpmn.io, 504, RESELLER
+motionspots.com, 117041, DIRECT, f0220652b4aaebdc
+yeahmobi.com,5135235,DIRECT
+adsgard.net, 902, DIRECT, 36a1c66e1a2f76dd
+opera.com,pub5954318212352,DIRECT,55a0c5fd61378de3
+appnexus.com,13227,RESELLER
+yahoo.com, 59052, RESELLER
+risecodes.com,6022acddc8b2f90001767980, RESELLER
+yahoo.com, 59040, RESELLER, e1a5b5b6e3255540
+emxdgt.com, 2014, RESELLER, 1e1d41537f7cad7f
+pubmatic.com, 161463, RESELLER, 5d62403b186f2ace
+germaniavid.com, 433197, RESELLER
+vidoomy.com, 8219011, DIRECT
+appnexus.com, 12475, RESELLER, f5ab79cb980f11d1
+yahoo.com, 56860, RESELLER, e1a5b5b6e3255540
+germaniavid.com, 433198, RESELLER
+pubmatic.com, 156498, RESELLER, 5d62403b186f2ace
+adform.com, 2742, RESELLER
+opera.com, pub6794514651328, DIRECT, 55a0c5fd61378de3
+conversantmedia.com, 100269, RESELLER, 03113cd04947736d
+triplelift.com, 10522, RESELLER, 6c33edb13117fd86
+yahoo.com, 58935, RESELLER, e1a5b5b6e3255540
+lemmatechnologies.com, 188, RESELLER, 7829010c5bebd1fb
+appnexus.com, 13227, RESELLER
+kaiads.com, 4408b6fa-4e1d-438f-af4d-f3be2fa97208, DIRECT
diff --git a/docs/assets/js/maps.js b/docs/assets/js/maps.js
index 0acd65ad..2b43c34e 100644
--- a/docs/assets/js/maps.js
+++ b/docs/assets/js/maps.js
@@ -219,7 +219,6 @@ const maps = (() => {
let overlayer = "";
let addMap = function (url, attribution, max_zoom, type, marker) {
- console.log(general.active_layer);
if (attribution == null) attribution = "";
if (max_zoom == null) max_zoom = 17;
//remove layer
diff --git a/docs/assets/js/module.js b/docs/assets/js/module.js
index 0878716d..9a1776c8 100644
--- a/docs/assets/js/module.js
+++ b/docs/assets/js/module.js
@@ -423,6 +423,14 @@ const module = (() => {
helper.bottom_bar("cancel", "option", "");
//show selected marker
+ //show/hide popop editor input field
+ if (markers_collection[index].tag == undefined) {
+ document.querySelector("#popup-editor").style.display = "block";
+ } else {
+ document.querySelector("#popup-editor").style.display = "none";
+ }
+
+ //get latlng
map.setView(markers_collection[index].getLatLng());
let marker_latlng = markers_collection[index].getLatLng();
diff --git a/docs/assets/js/overpass.js b/docs/assets/js/overpass.js
index 07a0830f..4c4e9c41 100644
--- a/docs/assets/js/overpass.js
+++ b/docs/assets/js/overpass.js
@@ -51,16 +51,25 @@ const overpass = (() => {
return false;
}
- //boundingbox
- let e = map.getBounds().getEast();
- let w = map.getBounds().getWest();
- let n = map.getBounds().getNorth();
- let s = map.getBounds().getSouth();
+ let currentBounds = map.getBounds();
+ // Apply 20% padding to the bounds
+ let paddedBounds = currentBounds.pad(0.2);
+
+ // Extract the padded bounds
+ let e = paddedBounds.getEast();
+ let w = paddedBounds.getWest();
+ let n = paddedBounds.getNorth();
+ let s = paddedBounds.getSouth();
+
+ // Create the bounding box string
var bounds = s + "," + w + "," + n + "," + e;
+
+ // Construct the queries using the padded bounds
var nodeQuery = "(node" + node_query + "(" + bounds + ");";
var wayQuery = "way" + way_query + "(" + bounds + ");";
var relationQuery = "relation" + relation_query + "(" + bounds + ");)";
+
var query =
"?data=[out:json][timeout:25];" +
nodeQuery +
diff --git a/docs/index.html b/docs/index.html
index 44e2f678..d1d9011a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -124,24 +124,28 @@
What3words
+
+ share
+
+
Routing
-
+
set as start point
-
+
set as end point
-
+
get me there
-
diff --git a/docs/index.js b/docs/index.js
index 9e69a25b..c3f5e444 100644
--- a/docs/index.js
+++ b/docs/index.js
@@ -116,6 +116,7 @@ let status = {
screenOff: false,
follow_path: false,
select_gpx: false,
+ notKaiOS: false,
};
let tracking = {};
@@ -157,7 +158,7 @@ if ("b2g" in Navigator) {
//leaflet add basic map
map = new L.map("map-container", {
zoomControl: false,
- dragging: false,
+ dragging: true,
keyboard: true,
});
@@ -370,14 +371,48 @@ document.addEventListener("DOMContentLoaded", function () {
.querySelector("div#overpass")
.insertAdjacentHTML(
"afterend",
- '
Drinking water Layer
'
+ '
Public transport
'
);
document
.querySelector("div#overpass")
.insertAdjacentHTML(
"afterend",
- '
public transport Layer
'
+ '
Hospital
'
+ );
+
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Drinking water
'
+ );
+
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Camping
'
+ );
+
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Hotel
'
+ );
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Restaurant
'
+ );
+
+ document
+ .querySelector("div#overpass")
+ .insertAdjacentHTML(
+ "afterend",
+ '
Bar
'
);
find_gpx();
@@ -1241,6 +1276,13 @@ document.addEventListener("DOMContentLoaded", function () {
) {
let item_value = document.activeElement.getAttribute("data-action");
+ if (item_value == "share") {
+ mozactivity.share_position();
+ document.querySelector("div#markers-option").style.display = "none";
+ helper.bottom_bar("", "", "");
+ status.windowOpen = "map";
+ }
+
if (item_value == "auto_update_route") {
routing.active = true;
routing.auto_routing = true;
@@ -1939,7 +1981,6 @@ document.addEventListener("DOMContentLoaded", function () {
let b = document.activeElement.closest("div.menu-box");
let items_list = b.querySelectorAll(".item");
- console.log(items_list.length);
if (move == "+1") {
if (tabIndex < items_list.length - 1) {
diff --git a/docs/manifest.webapp b/docs/manifest.webapp
deleted file mode 100644
index 2166ab40..00000000
--- a/docs/manifest.webapp
+++ /dev/null
@@ -1,97 +0,0 @@
- {
- "version": "1.9.792",
- "version_name": "hotline",
- "name": "o.map",
- "description": "O.map, your ultimate navigation companion for KaiOS-powered devices. O.map is a lightweight and feature-rich map application designed specifically for KaiOS, enabling you to explore and navigate the world with ease. Whether you're a local resident, a tourist, or an adventurer, O.map is here to enhance your journey and keep you on the right track.",
- "launch_path": "/index.html",
- "type": "privileged",
- "fullscreen": "true",
- "priority": "high",
- "userAgentInfo": "o.map / 1.9.755 written by strukturart@gmail.com",
- "icons": {
- "56": "/assets/icons/icon-56-56.png",
- "112": "/assets/icons/icon-112-112.png"
- },
-
- "developer": {
- "name": "strukturart",
- "url": "https://github.com/strukturart/o.map"
- },
-
- "dependencies": {
- "ads-sdk": "1.5.7"
- },
-
- "redirects": [
- {
-
- "from": "https://omap.strukturart.com/redirect.html",
- "to": "/oauth.html"
- }
- ],
-
- "messages": [
- {
- "alarm": "/index.html"
- },
- {
- "notification": "/index.html"
- },
-
- { "activity": "/index.html" }
- ],
-
- "locales": {
- "en-US": {
- "name": "o.map",
- "subtitle": "O.map is a lightweight and feature-rich map application",
- "description": "O.map, your ultimate navigation companion for KaiOS-powered devices. O.map is a lightweight and feature-rich map application designed specifically for KaiOS, enabling you to explore and navigate the world with ease. Whether you're a local resident, a tourist, or an adventurer, o.map is here to enhance your journey and keep you on the right track."
-
- }
- },
- "default_locale": "en-US",
-
-
-
- "permissions": {
-
-
- "desktop-notification": {
- "description": "Needed to fire system notifications"
- },
-
- "mobiledata": {},
- "wifidata": {},
- "calllog": {},
- "geolocation": {
- "description": "Required to show user's location on map"
- },
- "device-storage:sdcard": {
- "description": "Read from sd-card",
- "access": "readwrite"
- },
-
- "video-capture": {
- "description": "Reading Codes using the Camera"
- },
- "audio-channel-content": {
- "description": "Needed to play this app's audio content on the content channel"
- },
-
- "wake-lock": {},
- "power": {},
- "feature-detection": {},
-
-
- "spatialnavigation-app-manage": {
- "navigator.spatialNavigationEnabled": false
- },
-
- "systemXHR": {
- "description": "Required to load remote content"
- },
- "alarms": {
- "description": "Required to schedule alarms"
- }
- }
-}
diff --git a/docs/manifest.webmanifest b/docs/manifest.webmanifest
index d39709df..4032d339 100644
--- a/docs/manifest.webmanifest
+++ b/docs/manifest.webmanifest
@@ -5,6 +5,7 @@
"lang": "en-US",
"start_url": "/index.html",
"priority": "high",
+ "display": "standalone",
"userAgentInfo": "o.map written by strukturart@gmail.com",
"icons": [
@@ -18,10 +19,37 @@
"type": "image/png",
"sizes": "112x112"
}
+ {
+ "src": "assets/icons/favicon.ico",
+ "type": "image/x-icon",
+ "sizes": "16x16 32x32"
+ },
+ {
+ "src": "assets/icons/icon-192.png",
+ "type": "image/png",
+ "sizes": "192x192"
+ },
+ {
+ "src": "assets/icons/icon-512.png",
+ "type": "image/png",
+ "sizes": "512x512"
+ },
+ {
+ "src": "assets/icons/icon-192-maskable.png",
+ "type": "image/png",
+ "sizes": "192x192",
+ "purpose": "maskable"
+ },
+ {
+ "src": "assets/icons/icon-512-maskable.png",
+ "type": "image/png",
+ "sizes": "512x512",
+ "purpose": "maskable"
+ }
],
"b2g_features": {
- "version": "2.0.96",
+ "version": "2.0.98",
"id": "o.map",
"core": true,
"categories": ["utilities"],