UNPKG

ng-gplace-autocomplete

Version:

An angular componet for google maps autocomplete!

149 lines (142 loc) 6.31 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms')) : typeof define === 'function' && define.amd ? define('ng-gplace-autocomplete', ['exports', '@angular/core', '@angular/common', '@angular/forms'], factory) : (global = global || self, factory(global['ng-gplace-autocomplete'] = {}, global.ng.core, global.ng.common, global.ng.forms)); }(this, function (exports, core, common, forms) { 'use strict'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NgGplaceAutocompleteService = /** @class */ (function () { function NgGplaceAutocompleteService() { } NgGplaceAutocompleteService.decorators = [ { type: core.Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NgGplaceAutocompleteService.ctorParameters = function () { return []; }; /** @nocollapse */ NgGplaceAutocompleteService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function NgGplaceAutocompleteService_Factory() { return new NgGplaceAutocompleteService(); }, token: NgGplaceAutocompleteService, providedIn: "root" }); return NgGplaceAutocompleteService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // import { FormGroup, FormBuilder } from '@angular/forms'; var NgAutocompleteComponent = /** @class */ (function () { function NgAutocompleteComponent(ngZone) { this.ngZone = ngZone; this.placeholder = 'Search an address'; this.country = ['us']; this.onAddressChange = new core.EventEmitter(); } /** * @return {?} */ NgAutocompleteComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { this.getPlaceAutocomplete(); }; /** * @private * @return {?} */ NgAutocompleteComponent.prototype.getPlaceAutocomplete = /** * @private * @return {?} */ function () { var _this = this; /** @type {?} */ var autocomplete = new google.maps.places.Autocomplete(this.addresstext.nativeElement, { componentRestrictions: { country: this.country }, types: [this.addressType] // 'establishment'|'address'|'geocode' }); google.maps.event.addListener(autocomplete, 'place_changed', (/** * @return {?} */ function () { _this.ngZone.run((/** * @return {?} */ function () { /** @type {?} */ var place = autocomplete.getPlace(); //verify result if (place.geometry === undefined || place.geometry === null) { return; } // console.log('Inside ng-gplace-autocomplete',place.geometry.location.lat(),place.geometry.location.lng()) /** @type {?} */ var data = { location: { lat: place.geometry.location.lat(), lng: place.geometry.location.lng() }, place: place }; _this.invokeEvent(data); })); })); }; /** * @param {?} place * @return {?} */ NgAutocompleteComponent.prototype.invokeEvent = /** * @param {?} place * @return {?} */ function (place) { this.onAddressChange.emit(place); }; NgAutocompleteComponent.decorators = [ { type: core.Component, args: [{ selector: 'ng-autocomplete', template: "<input #autocomplete type=\"text\" [ngStyle]=\"style\" [placeholder]=\"placeholder\" [(ngModel)]=\"autocompleteInput\">", styles: ["input{margin:0;border:1px solid #778899}"] }] } ]; /** @nocollapse */ NgAutocompleteComponent.ctorParameters = function () { return [ { type: core.NgZone } ]; }; NgAutocompleteComponent.propDecorators = { style: [{ type: core.Input }], placeholder: [{ type: core.Input }], addressType: [{ type: core.Input }], country: [{ type: core.Input }], onAddressChange: [{ type: core.Output }], addresstext: [{ type: core.ViewChild, args: ['autocomplete', { static: false },] }] }; return NgAutocompleteComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NgAutocompleteModule = /** @class */ (function () { function NgAutocompleteModule() { } NgAutocompleteModule.decorators = [ { type: core.NgModule, args: [{ declarations: [NgAutocompleteComponent], imports: [ common.CommonModule, forms.FormsModule ], exports: [NgAutocompleteComponent] },] } ]; return NgAutocompleteModule; }()); exports.NgAutocompleteComponent = NgAutocompleteComponent; exports.NgAutocompleteModule = NgAutocompleteModule; exports.NgGplaceAutocompleteService = NgGplaceAutocompleteService; Object.defineProperty(exports, '__esModule', { value: true }); })); //# sourceMappingURL=ng-gplace-autocomplete.umd.js.map