Я создаю веб-приложение в ионном/угловом формате, где пользователь может выбрать местоположение либо с карты Google, которая появляется в модальном режиме, либо из автозаполнения карты Google Map поисковая строка.
Для получения наилучшего пользовательского опыта, я хочу, чтобы адрес, который пользователь выбирает на карте, вводится в поле поиска.
Если я сначала выбираю местоположение на карте, а затем измените местоположение, введя в поле поиска, которое работает. Но если я сначала наберу местоположение в поисковой строке, а затем попытаюсь выбрать местоположение на карте, текст в поле ввода останется прежним.
Я думаю, что это делать с ионной директивой вам нужно, чтобы получить автозаполнение рабочего
$scope.disableTap = function(){
container = document.getElementsByClassName('pac-container');
// disable ionic data tab
angular.element(container).attr('data-tap-disabled', 'true');
// leave input field if google-address-entry is selected
angular.element(container).on("click", function(){
document.getElementById('searchBar').blur();
});
};
Здесь объявлению SearchBox
var input = document.getElementById('searchBar');
var autocomplete = new google.maps.places.Autocomplete(input);
У меня есть нг-модель, связанную с SearchBox
<input type="text" id="searchBar" ng-focus="disableTap()" placeholder="Type address here..."
ng-model="inputText">
и я обновляю переменную $ scope.inputText в autocomp Lete слушатель так:
$scope.inputText = autocomplete.getPlace().formatted_address;
и в карте слушателя, как так:
$scope.inputText = address.formatted_address;
переопределяют ли функция размытия в нг-модель? Неужели я ошибаюсь?
Может ли кто-нибудь увидеть, почему моя версия ng-модели обновляется, если я получил карту, а затем поиск, но не поиск, а затем карту?
Любая помощь будет высоко ценится благодаря
Можете ли вы разместить образец на plunker или jsfiddle? – Hoyen