Ich mache eine Web-App in ionic/eckig, wo ein Benutzer einen Ort entweder aus einer Google Map, die in einem Modal erscheint, oder aus einer Google Map Autocomplete wählen kann Suchbox.
Für die beste Benutzererfahrung möchte ich, dass die Adresse, die der Benutzer auf der Karte auswählt, in die Suchbox eingegeben wird.
Wenn ich zuerst einen Ort auf der Karte auswähle, dann ändere den Ort, indem du das Suchfeld eingibst, das funktioniert. Aber wenn ich zuerst einen Ort in die Suchbox eintippe und dann einen Ort auf der Karte auswähle, bleibt der Text im Eingabefeld gleich.
Ich denke, es ist mit der ionischen Richtlinie Sie die automatische Vervollständigung Arbeits
$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();
});
};
Hier ist die searchbox Erklärung
var input = document.getElementById('searchBar');
var autocomplete = new google.maps.places.Autocomplete(input);
Ich habe ein ng-Modell mit dem Suchfeld verbunden bekommen tun müssen,
<input type="text" id="searchBar" ng-focus="disableTap()" placeholder="Type address here..."
ng-model="inputText">
und ich aktualisiere die Variable $ scope.inputText in der Autocomp lete Zuhörer wie so:
$scope.inputText = autocomplete.getPlace().formatted_address;
und in der Karte Zuhörern wie so:
$scope.inputText = address.formatted_address;
Ist die Unschärfefunktion des ng-Modells außer Kraft setzen? Verstehe ich das falsch?
Kann jemand sehen, warum mein ng-Modell aktualisiert, wenn ich Karte dann searchbox, aber nicht searchbox dann Karte bekomme?
Jede Hilfe wäre sehr dankbar dank
Können Sie eine Probe auf Plunker oder jsfiddle? – Hoyen