Nathan,
Sure you can do this with one simple line of code. Add line 17 to the widget.js in the startup function.
startup: function() {
this.inherited(arguments);
this.placehoder = html.create('div', {
'class': 'place-holder',
title: this.label
}, this.domNode);
this.isNeedHttpsButNot = jimuUtils.isNeedHttpsButNot();
if (true === this.isNeedHttpsButNot) {
console.log('LocateButton::navigator.geolocation requires a secure origin.');
html.addClass(this.placehoder, "nohttps");
html.setAttr(this.placehoder, 'title', this.nls.httpNotSupportError);
} else if (window.navigator.geolocation) {
this.own(on(this.placehoder, 'click', lang.hitch(this, this.onLocationClick)));
this.own(on(this.map, 'zoom-end', lang.hitch(this, this._scaleChangeHandler)));
this.onLocationClick();
} else {
html.setAttr(this.placehoder, 'title', this.nls.browserError);
}
},