Чтобы импортировать Autocomplete API от Google Maps в Angular, вам нужно выполнить несколько шагов.
1. Установите пакет @types/googlemaps
с помощью npm:
npm install @types/googlemaps
2. Прежде всего, убедитесь, что вы подключили API Google Maps JavaScript в ваш проект. Вы можете добавить следующую строку кода в файл index.html
внутри секции <head>
:
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_GOOGLE_MAPS_API_KEY&libraries=places"></script>
Замените YOUR_GOOGLE_MAPS_API_KEY
на свой собственный API ключ Google Maps. Если у вас нет ключа API, вы можете создать его на странице [Консоли разработчика Google](https://console.developers.google.com/).
3. В своем компоненте, в котором вы хотите использовать Autocomplete API, добавьте следующий код:
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; declare var google: any; @Component({ selector: 'app-your-component', templateUrl: './your-component.component.html', styleUrls: ['./your-component.component.css'] }) export class YourComponent implements OnInit { @ViewChild('search') public searchElementRef: ElementRef; constructor() { } ngOnInit(): void { const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement); autocomplete.addListener('place_changed', () => { // Обработка выбранного места const place = autocomplete.getPlace(); console.log(place); }); } }
В этом примере мы импортируем необходимые модули из Angular и создаем ссылку на элемент ввода с помощью декоратора ViewChild
. Затем в методе ngOnInit
создаем экземпляр Autocomplete API, передавая элемент ввода, и добавляем прослушиватель событий place_changed
, чтобы обрабатывать выбранные места.
4. В вашем шаблоне компонента (your-component.component.html
) добавьте элемент ввода для поиска:
<input #search type="text" placeholder="Search for a location" (keydown)="disableEnterKey($event)" >
Это пример простого элемента input с привязкой к local reference search
.
5. Если вы хотите добавить дополнительную функциональность или настройки Autocomplete API, вы можете обратиться к [официальной документации Google Maps JavaScript API](https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete).
Вот и все. Теперь у вас должна работать функция автозаполнения для поиска мест с использованием Google Maps Autocomplete API в вашем Angular проекте.