UNPKG

@boldadmin/angular-google-maps

Version:
75 lines 5.72 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { Coordinates } from '../value-object/coordinates'; import { GoogleMapsFactory } from './google-maps-factory.service'; var AngularGoogleMapsGeocoder = /** @class */ (function () { function AngularGoogleMapsGeocoder(googleMaps) { this.googleMaps = googleMaps; } /** * @param {?} address * @param {?} callback * @return {?} */ AngularGoogleMapsGeocoder.prototype.geocode = /** * @param {?} address * @param {?} callback * @return {?} */ function (address, callback) { return this.googleMaps.createGeocoder().geocode({ 'address': address }, (/** * @param {?} results * @return {?} */ function (results) { if (results !== null && results[0]) callback(new Coordinates(results[0].geometry.location.lat(), results[0].geometry.location.lng())); else callback(new Coordinates(59.9139, 10.7522)); })); }; /** * @param {?} coordinates * @param {?} callback * @return {?} */ AngularGoogleMapsGeocoder.prototype.reverseGeocode = /** * @param {?} coordinates * @param {?} callback * @return {?} */ function (coordinates, callback) { /** @type {?} */ var latLng = this.googleMaps.createLatLng(coordinates); this.googleMaps.createGeocoder().geocode({ 'location': latLng }, (/** * @param {?} results * @return {?} */ function (results) { if (results !== null && results[0]) callback(results[0].formatted_address); else callback(latLng.toString()); })); }; AngularGoogleMapsGeocoder.decorators = [ { type: Injectable } ]; /** @nocollapse */ AngularGoogleMapsGeocoder.ctorParameters = function () { return [ { type: GoogleMapsFactory } ]; }; return AngularGoogleMapsGeocoder; }()); export { AngularGoogleMapsGeocoder }; if (false) { /** * @type {?} * @private */ AngularGoogleMapsGeocoder.prototype.googleMaps; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1nb29nbGUtbWFwcy1nZW9jb2Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJvbGRhZG1pbi9hbmd1bGFyLWdvb2dsZS1tYXBzLyIsInNvdXJjZXMiOlsic2VydmljZS9hbmd1bGFyLWdvb2dsZS1tYXBzLWdlb2NvZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRWpFO0lBR0ksbUNBQW9CLFVBQTZCO1FBQTdCLGVBQVUsR0FBVixVQUFVLENBQW1CO0lBQ2pELENBQUM7Ozs7OztJQUVELDJDQUFPOzs7OztJQUFQLFVBQVEsT0FBZSxFQUFFLFFBQTRDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFDOzs7O1FBQUUsVUFBQSxPQUFPO1lBQ3pFLElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBOztnQkFFakcsUUFBUSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ25ELENBQUMsRUFBQyxDQUFBO0lBQ04sQ0FBQzs7Ozs7O0lBRUQsa0RBQWM7Ozs7O0lBQWQsVUFBZSxXQUF3QixFQUFFLFFBQTBCOztZQUN6RCxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1FBQ3hELElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7OztRQUFFLFVBQUEsT0FBTztZQUNsRSxJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDOUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBOztnQkFFdEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ25DLENBQUMsRUFBQyxDQUFBO0lBQ04sQ0FBQzs7Z0JBdkJKLFVBQVU7Ozs7Z0JBRkYsaUJBQWlCOztJQTBCMUIsZ0NBQUM7Q0FBQSxBQXhCRCxJQXdCQztTQXZCWSx5QkFBeUI7Ozs7OztJQUV0QiwrQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvb3JkaW5hdGVzIH0gZnJvbSAnLi4vdmFsdWUtb2JqZWN0L2Nvb3JkaW5hdGVzJ1xuaW1wb3J0IHsgR29vZ2xlTWFwc0ZhY3RvcnkgfSBmcm9tICcuL2dvb2dsZS1tYXBzLWZhY3Rvcnkuc2VydmljZSdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJHb29nbGVNYXBzR2VvY29kZXIge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBnb29nbGVNYXBzOiBHb29nbGVNYXBzRmFjdG9yeSkge1xuICAgIH1cblxuICAgIGdlb2NvZGUoYWRkcmVzczogc3RyaW5nLCBjYWxsYmFjazogKGNvb3JkaW5hdGVzOiBDb29yZGluYXRlcykgPT4gdm9pZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nb29nbGVNYXBzLmNyZWF0ZUdlb2NvZGVyKCkuZ2VvY29kZSh7J2FkZHJlc3MnOiBhZGRyZXNzfSwgcmVzdWx0cyA9PiB7XG4gICAgICAgICAgICBpZiAocmVzdWx0cyAhPT0gbnVsbCAmJiByZXN1bHRzWzBdKVxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBDb29yZGluYXRlcyhyZXN1bHRzWzBdLmdlb21ldHJ5LmxvY2F0aW9uLmxhdCgpLCByZXN1bHRzWzBdLmdlb21ldHJ5LmxvY2F0aW9uLmxuZygpKSlcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhuZXcgQ29vcmRpbmF0ZXMoNTkuOTEzOSwgMTAuNzUyMikpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV2ZXJzZUdlb2NvZGUoY29vcmRpbmF0ZXM6IENvb3JkaW5hdGVzLCBjYWxsYmFjazogKHN0cmluZykgPT4gdm9pZCkge1xuICAgICAgICBjb25zdCBsYXRMbmcgPSB0aGlzLmdvb2dsZU1hcHMuY3JlYXRlTGF0TG5nKGNvb3JkaW5hdGVzKVxuICAgICAgICB0aGlzLmdvb2dsZU1hcHMuY3JlYXRlR2VvY29kZXIoKS5nZW9jb2RlKHsnbG9jYXRpb24nOiBsYXRMbmd9LCByZXN1bHRzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHRzICE9PSBudWxsICYmIHJlc3VsdHNbMF0pXG4gICAgICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0c1swXS5mb3JtYXR0ZWRfYWRkcmVzcylcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhsYXRMbmcudG9TdHJpbmcoKSlcbiAgICAgICAgfSlcbiAgICB9XG59XG4iXX0=