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
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.