{"version":3,"sources":["LocateButton.js"],"names":["define","declare","lang","LocateButton","SimpleRenderer","PictureMarkerSymbol","GraphicsLayer","InfoTemplate","topic","growlTemplate","constructor","options","node","this","parentNode","startup","symbol","graphics","id","renderer","label","description","setRenderer","map","addLayer","graphicsLayer","infoTemplate","locateButton","on","hitch","_growlLocation","evt","stats","accuracy","position","coords","altitude","altitudeAccuracy","heading","latitude","longitude","speed","length","attributes","publishGPSPosition","publish","title","message","replace","level","timeout","opacity"],"mappings":";;;;;AAAAA,QACI,qBACA,kBACA,0BACA,gCACA,mCACA,4BACA,oBACA,cACD,SAAUC,EAASC,EAAMC,EAAcC,EAAgBC,EAAqBC,EAAeC,EAAcC,GAExG,MAAOP,GAAQ,MACXQ,cAAe,wLACfC,YAAa,SAAUC,EAASC,GAC5BC,KAAKF,QAAUA,EACfE,KAAKC,WAAaF,GAEtBG,QAAS,WACL,GAAIC,GAAS,GAAIX,GAAoB,yrDAA0rD,GAAI,GACnuDQ,MAAKI,SAAW,GAAIX,IAChBY,GAAI,uBAER,IAAIC,GAAW,GAAIf,GAAeY,EAClCG,GAASC,MAAQ,eACjBD,EAASE,YAAc,eACvBR,KAAKI,SAASK,YAAYH,GAC1BN,KAAKF,QAAQY,IAAIC,SAASX,KAAKI,UAC/BJ,KAAKF,QAAQc,cAAgBZ,KAAKI,SAClCJ,KAAKF,QAAQe,aAAe,GAAInB,GAAa,eAAgB,QAC7DM,KAAKF,QAAQK,OAAS,KAEtBH,KAAKc,aAAe,GAAIxB,GAAaU,KAAKF,QAASE,KAAKC,YACxDD,KAAKc,aAAaZ,UAClBF,KAAKc,aAAaC,GAAG,SAAU1B,EAAK2B,MAAMhB,KAAM,oBAEpDiB,eAAgB,SAAUC,GACtB,GAAIC,IACAC,SAAWF,EAAIG,SAASC,OAAe,SAAIJ,EAAIG,SAASC,OAAOF,SAAW,GAC1EG,SAAWL,EAAIG,SAASC,OAAe,SAAIJ,EAAIG,SAASC,OAAOC,SAAW,GAC1EC,iBAAmBN,EAAIG,SAASC,OAAuB,iBAAIJ,EAAIG,SAASC,OAAOE,iBAAmB,GAClGC,QAAUP,EAAIG,SAASC,OAAc,QAAIJ,EAAIG,SAASC,OAAOG,QAAU,GACvEC,SAAWR,EAAIG,SAASC,OAAe,SAAIJ,EAAIG,SAASC,OAAOI,SAAW,GAC1EC,UAAYT,EAAIG,SAASC,OAAgB,UAAIJ,EAAIG,SAASC,OAAOK,UAAY,GAC7EC,MAAQV,EAAIG,SAASC,OAAY,MAAIJ,EAAIG,SAASC,OAAOM,MAAQ,GAGjE5B,MAAKI,SAASA,SAASyB,OAAS,IAChC7B,KAAKI,SAASA,SAAS,GAAG0B,WAAaX,GAGvCnB,KAAKF,QAAQiC,oBACbpC,EAAMqC,QAAQ,iBACVC,MAAO,eACPC,QAAS7C,EAAK8C,QAAQnC,KAAKJ,cAAeuB,GAC1CiB,MAAO,UACPC,QAAS,IACTC,QAAS","file":"LocateButton.js","sourcesContent":["define([\r\n    'dojo/_base/declare',\r\n    'dojo/_base/lang',\r\n    'esri/dijit/LocateButton',\r\n    'esri/renderers/SimpleRenderer',\r\n    'esri/symbols/PictureMarkerSymbol',\r\n    'esri/layers/GraphicsLayer',\r\n    'esri/InfoTemplate',\r\n    'dojo/topic'\r\n], function (declare, lang, LocateButton, SimpleRenderer, PictureMarkerSymbol, GraphicsLayer, InfoTemplate, topic) {\r\n\r\n    return declare(null, {\r\n        growlTemplate: 'latitude: {latitude}<br/>longitude: {longitude}<br/>accuracy: {accuracy}<br/>altitude: {altitude}<br/>altitude accuracy: {altitudeAccuracy}<br/>heading: {heading}<br/>speed: {speed}',\r\n        constructor: function (options, node) {\r\n            this.options = options;\r\n            this.parentNode = node;\r\n        },\r\n        startup: function () {\r\n            var symbol = new PictureMarkerSymbol('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABJhJREFUeNrcmN9PW2UYx7/n9ATKj7QMMUCxmSxlCRI3BzF6MRO9WOyVN5sJFxqvNCa7MmbphTG78Iprwx+weEMiF8bdLNFojBhNDEwu3ObWjo2uLUXKaIFSCqdnz7e8hx1WdOcUij+e5ElLOe3zyfd93ud9nlezLAte7LOv0S4vZ8VPi0eU72dx5bPiU+Jr9j8+fevpcTS3YALUIy/viUdRn10TvyK+cChgTwL5dOCZNqA7CARbgIB//+8VSkB+A8jmgdw6YFb2AgrcQt1gAsUli4m3E6gnAAx0A61N3qQqloE7WZGqsAvIZR0TuCnPYAJ1UV4u8H2oAzhZB9B+gLcFML2y+9GkwI27BhOomL10g71AfxcO1eaWgJuZx0srcGNPBbOV4tK9emInjxphzL9f7u4ubY1y+j45VV2+RkLR+NuMoeyCil0LpnZfzF6+RkI54RhLWUwx1CjGktDORD/snPo7YyzGZGzF8BhMkUaZV9x9R22M6duRKGqrpjvUqtapg5aEeowxGdvJoquzr6rWgEe1uJ8rFrSy+EYFOp3v+ZnlEW5gr2rthjqQq8eMF7UYvGRBL5jwFbZhFCs76rfqqAQMbAd8MP0aKroGy61qZFhcrf551lBdQvXs8wK1VoFvoYym+5vwT6ceBrMrq36YW+gOtJRGng/ljzej1NOEcrsO0y0cGRTYacNuW9yWB0agUoSaLpiBianfw5l7ydbBvle0Yi6Dn+IT1s8n+ouj588nR441F55rxmaLBlNzWT6URXbB/qpLqAETtbh8VGrih9nwYHi47e33TyErx3Lhfhc6Zl7Ufrs62TaxfiXc9eEHCS4rl1RzoZqDIaJ73UHbbGkkp64/WAqm/7jROvAacGtTzj5Zgrvii5YJq/N1pH/8tvX6rTtBPrtdx071DGaKYkz0zFLOf/LZF7TMn0BqXlqaJJBZLCOVzwEbq7CWwlpmPunns/yO1zhG3cVHEn0rn8bq3DBK0s4UimsoPlzZaboyImFB1tY06/55z4r5JFdYEno7g6W5+HfW9vwGyullbKSkl7knaiXyVdcqv1q9faESn/W53JUHAqPETOgz/eF8KDJYnPnmC6wncrASotRN6aFnRKnclwi9ca545tRQns8adSoWt3t0N8bdxeLJOjX6zrvJQMfq+vJXFy1c/Rz4fhz68kdW3zn/+ugnl5N8hs9qLhVzMMQNBRZh4+amZDCLuf1ZPEc6/YWuSx8npt+MBrMPUn5UKugOXSqNDL+0W2CrpcJD8+gE49wX5TQTPuZSZlGAFZ3Fk0t1/OWhUnFk6EBHEo0MymYNNYzGOGJxWHB7XjIgKzqDdxrYsksCE91QS+6lRjA2GZRN6dJrc5S6xt6bI5YX0xRgEyFFKTrf6x6haIyt+n8OJ2v2ruSEXC1BJD9qY0zGdrLo6i5hwVbtdvbowW6k96i18GQdI+kah1HOfUdljKVaHabUeE2BVaTVwZPDqGPrNswYwzH4jql8r6386i5hku85jDYSzh54HVcFU//NK4JGX6ow0VVOeb9U+VdfQzX44m7cmej/r6vOf+py+JEAAwDRMD/uB0XQuQAAAABJRU5ErkJggg==', 38, 38);\r\n            this.graphics = new GraphicsLayer({\r\n                id: 'GeoLocationGraphics'\r\n            });\r\n            var renderer = new SimpleRenderer(symbol);\r\n            renderer.label = 'GPS Position';\r\n            renderer.description = 'GPS Position';\r\n            this.graphics.setRenderer(renderer);\r\n            this.options.map.addLayer(this.graphics);\r\n            this.options.graphicsLayer = this.graphics;\r\n            this.options.infoTemplate = new InfoTemplate('GPS Position', '${*}');\r\n            this.options.symbol = null;\r\n\r\n            this.locateButton = new LocateButton(this.options, this.parentNode);\r\n            this.locateButton.startup();\r\n            this.locateButton.on('locate', lang.hitch(this, '_growlLocation'));\r\n        },\r\n        _growlLocation: function (evt) {\r\n            var stats = {\r\n                accuracy: (evt.position.coords.accuracy) ? evt.position.coords.accuracy : '',\r\n                altitude: (evt.position.coords.altitude) ? evt.position.coords.altitude : '',\r\n                altitudeAccuracy: (evt.position.coords.altitudeAccuracy) ? evt.position.coords.altitudeAccuracy : '',\r\n                heading: (evt.position.coords.heading) ? evt.position.coords.heading : '',\r\n                latitude: (evt.position.coords.latitude) ? evt.position.coords.latitude : '',\r\n                longitude: (evt.position.coords.longitude) ? evt.position.coords.longitude : '',\r\n                speed: (evt.position.coords.speed) ? evt.position.coords.speed : ''\r\n            };\r\n\r\n            if (this.graphics.graphics.length > 0) {\r\n                this.graphics.graphics[0].attributes = stats;\r\n            }\r\n\r\n            if (this.options.publishGPSPosition) {\r\n                topic.publish('growler/growl', {\r\n                    title: 'GPS Position',\r\n                    message: lang.replace(this.growlTemplate, stats),\r\n                    level: 'default', //can be: 'default', 'warning', 'info', 'error', 'success'.\r\n                    timeout: 10000, //set to 0 for no timeout\r\n                    opacity: 1.0\r\n                });\r\n            }\r\n        }\r\n    });\r\n});"]}