У меня отлично работает автозаполнение, я включил библиотечную геометрию,
<script defer src = "https://maps.googleapis.com/maps/api/js?libraries=places,geometry&key=xxaSyxxxxxxxx9xx&callback=initAutocomplete"></script>
Вот html+js:
<input class = "forminput" id = "autocomplete" maxlength = "30" type=text placeholder = "Ex: street.."></input>
let placeSearch;
let autocomplete;
const componentForm = {
street_number: "short_name",
route: "long_name",
locality: "long_name",
administrative_area_level_1: "short_name",
country: "long_name",
postal_code: "short_name",
};
function initAutocomplete() {
autocomplete = new google.maps.places.Autocomplete(
document.getElementById("autocomplete"),
{ types: ["geocode"] }
);
//address only
autocomplete.setFields(["address_component"]);
//populate
autocomplete.addListener("place_changed", fillInAddress);
}
Когда я читаю результаты, у мест нет свойства geometry:
function fillInAddress() {
const place = autocomplete.getPlace();
console.info(place); // is good
console.info(place.geometry); // is undefined all the time
for (const component of place.address_components) {
const addressType = component.types[0];
const val = component[componentForm[addressType]];
alert(addressType + " " + val); // ****** this is good !!!
}
Как заставить работать геометрию? мне нужно лат/лог.
Объем автозаполнения просто прекрасен, я получаю остальные свойства, и вы можете понять это из моего кода.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Для тех, кто борется, это было довольно просто,
autocomplete.setFields(["address_component","geometry"]);
По какой-то причине документы Google почти скрывают это в своем руководстве, но вы должны добавить его ТАКЖЕ здесь, чтобы он работал.
Это работает и без включения библиотеки geometry.
Библиотека геометрии не имеет ничего общего с объектом геометрии, возвращаемым вместе с местом.