style remove google event content addlistener javascript google-maps autocomplete google-places-api

javascript - remove - Google maps coloca eventos de carga de autocompletar



javascript marker google map (1)

Estoy usando la api de Google Maps Places Autocomplete .

Me gustaría mostrar un spinner Ajax durante la búsqueda, antes de que se muestre el menú desplegable Autocompletar.

¿Cómo puedo determinar cuándo están listos los resultados de los lugares? ¿Hay algún evento disparado?

Esto es particularmente útil en malas conexiones a Internet ya que la latencia a veces puede ser de hasta 5 segundos. El usuario debe saber que el cuadro de búsqueda es una casilla de autocompletar antes de presionar frenéticamente enter para buscar.


Puede usar el servicio de autocompletar para obtener las predicciones de consulta. Tiene una función de devolución de llamada.

En el ejemplo del enlace que proporcionó, puede declarar la entrada como una variable global en el script. Y acceda con el servicio de autocompletar después de la función de inicialización :

var input; function initialize () { ... input = document.getElementById(''pac-input''); ... } function showSpinner() { document.getElementById(''spinner'').style.display = ''block''; var service = new google.maps.places.AutocompleteService(); service.getQueryPredictions({ input: input }, callback); } function callback(predictions, status) { if (status != google.maps.places.PlacesServiceStatus.OK) { document.getElementById(''spinner'').style.display = ''none''; return; } }

En cuanto a los cambios en el documento html:

<body> <input id="pac-input" class="controls" type="text" placeholder="Enter a location" onkeypress="showSpinner()"> <img id="spinner" src="spinner.gif" style="position:absolute; top:0; right:0; width: 250px; display: none"> </body>

Me gustaría ejecutar esto solo si un tiempo de espera de un segundo (es decir, si la conexión a Internet del usuario es lenta), de lo contrario, el girador se parece a una imagen subliminal.