Comment faire pour activer ou désactiver la fonction autocomplacer google-maps?

Je crée une entrée autocomplète pour l'API Google Maps (niveau 3), comme ceci:

var input = document.getElementById('szukanyAdres'); autocomplete = new google.maps.places.Autocomplete(input); autocomplete.bindTo('bounds', map); 

Comment activer ou désactiver la fonctionnalité de mise en veille automatique au moment de l'exécution?

Il existe deux éléments liés à l'autocomplification

  1. L'élément d'entrée
  2. Un div qui contient les list-entries. Cette div sera ajoutée au corps et a la classe "pac-container"

Donc, ce que vous pouvez faire: afficher ou masquer les deux éléments en modifiant leur style d'affichage.


Lorsqu'il n'est pas possible de cacher l'entrée, vous pouvez remplacer l'entrée par un clone de l'entrée, ce qui supprimera la fonctionnalité d'autocomplète.

 inputObject.parentNode.replaceChild(inputObject.cloneNode(true),input); 

Pour restaurer l'autocomplète, réessayez ce que vous souhaitez faire.

La solution du Dr.Molle ne fonctionne pas pour moi.

La solution que j'ai trouvée est d'effacer la liste et supprimer le pac-container:

 var autocomplete; var autocompleteListener; function disableGoogleAutocomplete() { if (autocomplete !== undefined) { google.maps.event.removeListener(autocompleteListener); google.maps.event.clearInstanceListeners(autocomplete); $(".pac-container").remove(); console.log('disable autocomplete to GOOGLE'); } } function enableGoogleAutocomplete() { autocomplete = new google.maps.places.Autocomplete($("#inputDiv input")[0], options); autocompleteListener = google.maps.event.addListener(autocomplete, 'place_changed', function() { ... } console.log('set autocomplete to GOOGLE'); } 

Maintenant, je peux activer / désactiver Google Fillcomplete.

Pour supprimer tous les auditeurs ajoutés à l'autocomplète.

 autocomplete.unbindAll(); 

Pour supprimer tous les auditeurs ajoutés à l'élément de saisie.

 google.maps.event.clearInstanceListeners(input); 

Voir https://code.google.com/p/gmaps-api-issues/issues/detail?id=3429

Si quelque chose écrit ici ne fonctionne pas pour vous, vous pouvez essayer de le cacher. Le champ avec des endroits apparaissant pendant la saisie est dans la classe css .pac-container, alors il suffit de le déclarer dans l'affichage css: aucun. Ensuite, il n'apparaîtra pas lors de la saisie dans la boîte de recherche. En fait, ce n'est pas la façon de le personnaliser.