From 00840363344f3f8a88047d4f75b3fa24f89e259c Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 12 Nov 2020 22:44:25 +0000 Subject: [PATCH] --- ayanova/src/api/gzutil.js | 19 +++++++++++++++++++ ayanova/src/views/cust-customer.vue | 6 ++++++ ayanova/src/views/home-user-settings.vue | 2 ++ 3 files changed, 27 insertions(+) diff --git a/ayanova/src/api/gzutil.js b/ayanova/src/api/gzutil.js index 6a99e7f7..1cb993ce 100644 --- a/ayanova/src/api/gzutil.js +++ b/ayanova/src/api/gzutil.js @@ -534,6 +534,25 @@ export default { { maximumAge: 600000, timeout: 5000, enableHighAccuracy: true } ); }); + }, + /////////////////////////////////////////////// + // Open map url + // + // + viewGeoLocation: function(obj) { + if (!obj.latitude || !obj.longitude) { + throw new Error("View map: missing latitude or longitude, can't view"); + } + let mapUrl = + window.$gz.store.state.userOptions.mapUrlTemplate || + "https://www.google.com/maps/search/?api=1&query={aylatitude},{aylongitude}"; + mapUrl = mapUrl.split("{aylatitude}").join(obj.latitude); + mapUrl = mapUrl.split("{aylongitude}").join(obj.longitude); + if (window.open(mapUrl, "map") == null) { + throw new Error( + "Problem displaying map in new window. Browser must allow pop-ups to view maps; check your browser setting" + ); + } } /** diff --git a/ayanova/src/views/cust-customer.vue b/ayanova/src/views/cust-customer.vue index 3e51e097..792af4d5 100644 --- a/ayanova/src/views/cust-customer.vue +++ b/ayanova/src/views/cust-customer.vue @@ -902,6 +902,12 @@ async function clickHandler(menuItem) { window.$gz.errorHandler.handleFormError(ex, m.vm); } + break; + case "geoview": + window.$gz.util.viewGeoLocation({ + latitude: m.vm.obj.latitude, + longitude: m.vm.obj.longitude + }); break; default: window.$gz.eventBus.$emit( diff --git a/ayanova/src/views/home-user-settings.vue b/ayanova/src/views/home-user-settings.vue index ddf99ebd..3d409e14 100644 --- a/ayanova/src/views/home-user-settings.vue +++ b/ayanova/src/views/home-user-settings.vue @@ -365,6 +365,8 @@ export default { l.emailAddress = vm.obj.emailAddress; } + l.mapUrlTemplate = vm.obj.mapUrlTemplate; + window.$gz.store.commit("setUserOptions", l); if (