Как вы знаете, каждый раз, когда мы печатаем, срабатывает автозаполнение карты Google, я хочу установить для этого функцию задержки, например 250 мс, поэтому дайте пользователю больше времени для ввода, а также сохраните кредиты. Я пытаюсь добавить $timeout, но, похоже, у меня это не сработало. Не могли бы вы взглянуть на это для меня? Спасибо заранее. HTML:
<input name="google_places_ac" type="text" class="google_places_ac input-block-level" ng-model="address" placeholder="Please enter a location" ng-blur="updateMap()"/>
директива:
link: function($scope, elm, attrs) {
$timeout(function(){
var autocomplete = new google.maps.places.Autocomplete($(elm).find(".google_places_ac")[0], {});
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
$scope.address = place.formatted_address;
$scope.location = {
formatted_address: place.formatted_address,
loglat: place.geometry.location
};
$scope.$apply();
//pop up the event and index(if needed)
$scope.$emit('updatemap',$scope.indexposition);
});
},1000);
}
каждый раз, когда я пытаюсь ввести поисковый запрос, сразу же появляется список результатов поиска, можно ли отложить его? чтобы пользователь мог ввести больше символов?