// Function to initialize Google Places Autocomplete for each selector function initAutocomplete() { // Ensure inputFields is defined and convert the CSS selectors into individual fields if (window.inputFields) { const selectors = window.inputFields .split(",") .map((selector) => selector.trim()); // Use querySelectorAll to select all elements based on the parsed selectors const inputElements = selectors.flatMap((selector) => Array.from(document.querySelectorAll(selector)) ); inputElements.forEach((inputField) => { const autocomplete = new google.maps.places.Autocomplete(inputField, { fields: ["formatted_address"], types: ["address"], }); autocomplete.addListener("place_changed", () => fillInAddress(autocomplete, inputField) ); }); } } // Function to fill in the address function fillInAddress( autocomplete: google.maps.places.Autocomplete, inputField: HTMLInputElement ) { const place = autocomplete.getPlace(); if (place.formatted_address) { inputField.value = place.formatted_address; } } // Call initAutocomplete on window load window.addEventListener("load", initAutocomplete);