Angular7 Не удается найти namesapce "Google" - PullRequest
0 голосов
/ 11 июня 2019

Я использую пакет

import { MapsAPILoader } from '@agm/core';

для автоматического поиска адресов.И это возвращает результат ошибки, такой как cannot find namespace 'google'.

Результат ошибки отображается в строке:

let autoComplete = new google.maps.places.Autocomplete(this.searchElement.nativeElement, {types:["address"]});

Возвращает результат ошибки, так как не может найти пространство имен Google, когда я пытался построить проект.

вот мой блоккода

    import { FilterPipe } from './../../../filter.pipe';
    import { ViewService } from './../../../models/user.viewService.model';
    import { Component, OnInit, ViewChild, ElementRef, NgZone } from '@angular/core';
    import { AddserviceService } from 'src/app/services/Dashboard/AddService/addservice.service';
    import { FormsModule, NgForm, FormControl } from '@angular/forms';
    import { Observable } from 'rxjs';
    import { RouterModule, NavigationExtras, ActivatedRoute } from '@angular/router';
    import { Router } from '@angular/router';
    import { CategoryModel } from 'src/app/models/user.category.model';
    import { HttpClient } from '@angular/common/http';
    import { MapsAPILoader } from '@agm/core';
    import { AddServiceModel } from 'src/app/models/user.addService.model';

    @Component({
      selector: 'app-homepage-banner',
      templateUrl: './homepage-banner.component.html',
      styleUrls: ['./homepage-banner.component.scss'],
      providers: [AddserviceService, FilterPipe]

    })
    export class HomepageBannerComponent implements OnInit {
      servy: ViewService = new ViewService;
      public searchTerm: string = "";
      nameList: string[] = [];
      myControl = new FormControl();
      private serviceList: ViewService[];
      public filteredOptions: Observable<ViewService[]>;
      public filterValue: string;
      public searchedList: ViewService[];
      provider: AddServiceModel = new AddServiceModel;
      public count: number;

      public categoryList: CategoryModel[] = [];


      @ViewChild('search') public searchElement: ElementRef;


      constructor(
        private service: AddserviceService,
        private route: Router,
        private searchPipe: FilterPipe,
        private httpClient: HttpClient,
        private mapsAPILoader: MapsAPILoader,
        private ngZone: NgZone,
        private _route: ActivatedRoute,
      ) { }

      ngOnInit() {
        this.getServiceNames();
        this.getCategory();

        if (this._route.snapshot.queryParamMap.has('searchTerm')) {
          this.searchTerm = this._route.snapshot.queryParamMap.get('searchTerm');
        }


        this.mapsAPILoader.load().then(
          () => {
            let autoComplete = new google.maps.places.Autocomplete(this.searchElement.nativeElement, {types:["address"]});
            autoComplete.addListener("place_changed", () =>{
              this.ngZone.run(() =>{
                let place: google.maps.places.PlaceResult = autoComplete.getPlace();

                if(place.geometry === undefined || place.geometry === null){
                  return;
                }
              });
            });
          }

        );

      }

1 Ответ

0 голосов
/ 11 июня 2019

Добавьте эту строку в ваше объявление

declare var google: any
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...