Я использую пакет
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;
}
});
});
}
);
}