diff --git a/www/assets/js/manage.js b/www/assets/js/manage.js index e71d311..07b9ec3 100644 --- a/www/assets/js/manage.js +++ b/www/assets/js/manage.js @@ -67,32 +67,7 @@ $("#addpackagebtn").click(function () { } var address = ($("input[name=number]").val() + " " + $("input[name=street]").val()).toUpperCase(); - $.getJSON(SETTINGS.geocodeapi, { - address: address + " " + $("input[name=citystate]").val().toUpperCase() - }, function (resp) { - if (resp.status == "OK") { - if (resp.accuracy.ok) { - addPackage(resp.address.street, resp.coords[0], resp.coords[1]); - } else { - playSound("error"); - app.dialog.confirm( - "The address \"" + address + "\" couldn't be reliably located. Add it anyways?", - "Accuracy Warning", - function (ok) { - if (resp.address.street == "") { - addPackage(address, resp.coords[0], resp.coords[1]); - } else { - addPackage(resp.address.street, resp.coords[0], resp.coords[1]); - } - } - ); - } - - } else { - playSound("error"); - app.dialog.alert(resp.message, "Error"); - } - }); + addPackageByAddress(address, $("input[name=citystate]").val().toUpperCase()); }); // Restore user's last entered city/state combo diff --git a/www/assets/js/map.js b/www/assets/js/map.js index b512373..25f53db 100644 --- a/www/assets/js/map.js +++ b/www/assets/js/map.js @@ -18,11 +18,16 @@ function createMap() { function reloadMap() { try { if (map != null && typeof map != 'undefined') { + var mapcenter = map.getCenter(); + var mapzoom = map.getZoom(); map.off(); map.remove(); map = null; + createMap(); + map.setView(mapcenter, mapzoom); + } else { + createMap(); } - createMap(); } catch (ex) { // oh well ¯\(°_o)/¯ } diff --git a/www/assets/js/packages.js b/www/assets/js/packages.js index 69ebdf4..076b02a 100644 --- a/www/assets/js/packages.js +++ b/www/assets/js/packages.js @@ -38,4 +38,33 @@ function countRemainingPackages() { } } return undelivered; +} + +function addPackageByAddress(address, citystate) { + $.getJSON(SETTINGS.geocodeapi, { + address: address + " " + citystate + }, function (resp) { + if (resp.status == "OK") { + if (resp.accuracy.ok) { + addPackage(resp.address.street, resp.coords[0], resp.coords[1]); + } else { + playSound("error"); + app.dialog.confirm( + "The address \"" + address + "\" couldn't be reliably located. Add it anyways?", + "Accuracy Warning", + function (ok) { + if (resp.address.street == "") { + addPackage(address, resp.coords[0], resp.coords[1]); + } else { + addPackage(resp.address.street, resp.coords[0], resp.coords[1]); + } + } + ); + } + + } else { + playSound("error"); + app.dialog.alert(resp.message, "Error"); + } + }); } \ No newline at end of file diff --git a/www/pages/map.html b/www/pages/map.html index 93405bf..def4be3 100644 --- a/www/pages/map.html +++ b/www/pages/map.html @@ -13,6 +13,11 @@
Map
+
+ + + +
diff --git a/www/routes.js b/www/routes.js index e02cd66..ee3ef29 100644 --- a/www/routes.js +++ b/www/routes.js @@ -60,9 +60,7 @@ var routes = [ keepAlive: true, on: { pageAfterIn: function () { - if (map == null) { - createMap(); - } + reloadMap(); } } },