Now not even creating autocomplete widget when the full address is prepopulated, as it is when coming back to the page

This commit is contained in:
Leah Schumann 2022-05-20 08:18:31 -04:00
parent f0858b289c
commit e71f7109dd

View file

@ -192,6 +192,7 @@ export default ({
this.addressModel.zipCode !== null) {
this.showAddressFields = true;
return;
}
const addressField1 = document.getElementById("autocomplete");
@ -230,34 +231,34 @@ export default ({
})
addressField1.onchange = function() {
const hover = document.querySelector(".pac-container .pac-item:hover");
// if an item has been clicked, do nothing, otherwise get first solution and use Geocoder to get the place
if (hover === null) {
const item = document.querySelector(".pac-container .pac-item");
if (item != null) {
const firstResult = item.textContent;
const geocoder = new window.google.maps.Geocoder();
geocoder.geocode({
address: firstResult
}, function (results, status) {
if (status === window.google.maps.GeocoderStatus.OK) {
fillInAddress(results[0]);
self.displayVerificationWarning = true;
self.displayNoMatchWarning = false;
}
});
}
else {
self.addressModel.city = "";
self.addressModel.state = "";
self.addressModel.zipCode = "";
self.showAddressFields = true;
self.displayVerificationWarning = false;
self.displayNoMatchWarning = true;
}
addressField1.onchange = function() {
const hover = document.querySelector(".pac-container .pac-item:hover");
// if an item has been clicked, do nothing, otherwise get first solution and use Geocoder to get the place
if (hover === null) {
const item = document.querySelector(".pac-container .pac-item");
if (item != null) {
const firstResult = item.textContent;
const geocoder = new window.google.maps.Geocoder();
geocoder.geocode({
address: firstResult
}, function (results, status) {
if (status === window.google.maps.GeocoderStatus.OK) {
fillInAddress(results[0]);
self.displayVerificationWarning = true;
self.displayNoMatchWarning = false;
}
});
}
};
else {
self.addressModel.city = "";
self.addressModel.state = "";
self.addressModel.zipCode = "";
self.showAddressFields = true;
self.displayVerificationWarning = false;
self.displayNoMatchWarning = true;
}
}
};
function fillInAddress(place) {
if (!place) {
@ -265,6 +266,7 @@ export default ({
}
if (place && place.address_components) {
self.addressModel.streetAddress= "";
self.showAddressFields = true;
for (const component of place.address_components) {
@ -276,8 +278,7 @@ export default ({
break;
}
case "route": {
self.addressModel.streetAddress +=
" " + component.short_name;
self.addressModel.streetAddress += " " + component.short_name;
break;
}
case "locality": {
@ -286,7 +287,6 @@ export default ({
}
case "administrative_area_level_1": {
self.addressModel.state = component.short_name;
// self.addressModel.state = "";
break;
}
case "postal_code": {
@ -311,12 +311,12 @@ export default ({
const pacContainer = document.querySelector(".pac-container");
pacContainer.remove();
}
})
.catch(() => {
// Failed to fetch script
console.log("Unable to load Google Places API script");
});
}
})
.catch(() => {
// Failed to fetch script
console.log("Unable to load Google Places API script");
});
}
},
mounted() {