react - javascript google maps search address
Eventos distintos de ''place_changed'' para Autocompletar de Google Maps (2)
Si agrega su propio controlador de entrada (por ejemplo, capturando CR después de que el usuario ingrese su propio texto), autocomplete y su función puede llamar a su método una y otra vez. Mi solución es usar acelerador para evitar la llamada repetida:
$(''#sell_address_input'').keyup(function(e){ if(e.keyCode==13){throttle(addressEntered(),1000)}});
....
function throttle(callback, limit) {
var wait = false; // Initially, we''re not waiting
return function () { // We return a throttled function
if (!wait)
{ // If we''re not waiting
callback.call(); // Execute users function
wait = true; // Prevent future invocations
setTimeout(function ()
{ // After a period of time
wait = false; // And allow future invocations
}, limit);
}
}
}
Tengo una aplicación que actualmente se activa correctamente en place_changed.
Sin embargo, quiero que la búsqueda de sucursales se comporte de manera diferente cuando un usuario ha seleccionado una entrada de autocompletar, y cuando han ingresado texto por sí mismos sin la ayuda de la función de autocompletar.
¿Qué tipo de oyente de eventos debería usar para hacer la distinción? No puedo encontrar ninguna documentación sobre otros eventos para Autocompletar de Google Maps.
lo que tengo ahora:
var gmaps = new google.maps.places.Autocomplete($("#searchproperties").get(0),
{ types: [''geocode''], componentRestrictions: {country: ''us''} });
google.maps.event.addListener(gmaps, ''place_changed'', function () {
//FIRE SEARCH
});
Solo hay un evento documentado en la versión 3 de la API de JavaScript de Google Maps para la clase google.maps.places.Autocomplete , place_changed
Puede agregarle detectores de eventos HTML estándar (no estoy seguro si eso afectará la funcionalidad de Autocompletar).