В моем angular
у меня Google Places
автозаполнение реализовано так
компонент.html
<input #search id = "pac-input" type = "text" placeholder = "Enter a location" class = "form-control">
<agm-map [latitude] = "latitude" [longitude] = "longitude" [zoom] = "zoom">
<agm-marker [latitude] = "latitude" [longitude] = "longitude"></agm-marker>
</agm-map>
компонент.ts
ngOnInit(){
this.setCurrentLocation();
this.mapsAPILoader.load().then(() => {
this.geoCoder = new google.maps.Geocoder;
const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement);
autocomplete.addListener("place_changed", () => {
this.ngZone.run(() => {
//get the place result
const place: google.maps.places.PlaceResult = autocomplete.getPlace();
//verify result
if (place.geometry === undefined || place.geometry === null) {
return;
}
//set latitude, longitude and zoom
this.latitude = place.geometry.location.lat();
this.longitude = place.geometry.location.lng();
this.zoom = 12;
});
});
});
}
Но проблема в том, что карта правильно показывает текущее местоположение на такой карте
но когда я набираю любой адрес в input
, он не показывает места suggestions
при вводе. И никаких ошибок в консоли не отображается. Все выглядит чистым.
Я нашел реальную проблему. Проблема заключалась в том, что список предложений отображался за модальным окном. Итак, проблема с z-index
. Модальный z-index
был больше, чем список предложений автозаполнения z-index
, поэтому я просто поместил его в свой основной style.css
.pac-container{
z-index:9999 !important;
}
Это сработало для меня.