Да.
npm install @agm/core --save-dev
npm install @types/googlemaps --save-dev
app.module.ts
import {AgmCoreModule} from '@agm/core'
.
.
.
imports: [
.
.
.
AgmCoreModule.forRoot({
apiKey: 'your api key',
libraries: ['places']
}),
.
.
.
]
в вашем html
<div>
<input type="text" placeholder="Search for location" autocorrect="off" name="" spellcheck="off" #autoSearch/>
</div>
файле component.ts
import {Component, ViewChild, ElementRef, NgZone, OnInit} from '@angular/core'
import { MapsAPILoader } from '@agm/core';
import {} from @types/googlepmaps;
.
.
.
export class YourComponent implements OnInit {
@ViewChild('autoSearch') public searchElement: ElementRef;
consturctor (private mapsAPILoader: MapsAPILoader , private ngZone : NgZone )
{}
ngOnInit() {
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;
}
})
})
}
);
}
}
Я скорее использую библиотеку AGM, а не просто используемое вами автозаполнение, потому что автозаполнение дает вам только возможность автозаполнения, если AGM можно использовать для рендеринга карт Google с маркерами.
Теперь,
Для самостоятельной установки зависимостей для исправления предупреждений вы можете обратиться к этому вопросу о стеке потока: Как автоматически установить зависимости одноранговых узлов npm?