Yardımlarınız için şimdiden teşekkür ederiz.Google Maps otomatik tamamlama ile md-autocomplete otomatik tamamlamaService
Otomatik tamamlama kullanarak google AutocompleteService API'siyle etkileşim kurmak için otomatik tamamlama arama kutusu kurulumu yapmaya çalışıyorum.
Şu anda Açısal Otomatik Tamamlama Hizmeti'm iyi çalışıyor ve arama çubuğuna yazılanlara dayalı olarak bir dizi önerilen öngörüyü alıyor. Hizmet ı otomatik tamamlama bağlanmaya çalışıyorum formunu kontrol eden bir Kontrolörü enjekte edilir
angular
.module('LocalKnowledgeApp')
.service('AutocompleteService', [ function() {
var self = this;
var suggestions = [];
self.initPredict = function(searchInput) {
var predict = new google.maps.places.AutocompleteService();
predict.getQueryPredictions({ input: searchInput }, self.displaySuggestions);
};
self.displaySuggestions = function(predictions, status) {
if (status != google.maps.places.PlacesServiceStatus.OK) {
console.log(status);
return;
}
predictions.forEach(function(prediction) {
suggestions.push(prediction.description);
});
};
self.makeSuggestions = function(){
return suggestions.slice(0,10);
};
O:
İşte benim Otomatik Tamamlama Hizmeti'dir. Şimdi arama çubuğunda bir açılır kutuyu almak için kadar Tel çalışıyorum
angular
.module('LocalKnowledgeApp')
.controller('RequestController', ['LocationService', 'MarkersService', 'AutocompleteService', '$http', '$scope',
function(LocationService, MarkersService, AutocompleteService, $http, $scope) {
var self = this;
var isInfoOpen = false;
var clickedRequest = {};
var requestUser = {};
var autocompleteStarted;
self.master = {};
var autocompleteSuggestions = [];
// var search = autoCompleteSearch;
self.autoCompleteSearch = function(searchInput){
if (searchInput.length < 2) {
self.autocompleteStarted = false;
} else {
AutocompleteService.initPredict(searchInput);
self.autocompleteStarted = true;
self.autocompleteSuggestions = AutocompleteService.makeSuggestions();
return self.autocompleteSuggestions;
}
};
(sadece otomatik tamamlama bit katılan ve AutocompleteService ile etkileşime işlevi dahil ettik) kullanıcıları böylece Ardından, Google Otomatik Tamamlama hizmetinin RequestsController'a döndürdüğü önerilerin dizisinden seçim yapın.
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content" >
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Request a tour from a local</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="location">Location</label>
<div>
<md-autocomplete
md-search-text-change="r.autoCompleteSearch(searchText)"
md-input-name="request.location"
md-selected-item="selectedItem"
md-search-text="searchText"
md-items="item in r.autocompleteSearch(searchText)"
md-item-text="item.display"
md-input-minlength="0">
<md-item-template md-highlight-text="searchText">
{{item.display}}
</md-item-template>
</div>
</md-autocomplete>
<aside ng-show="r.autocompleteStarted" id="autocompleteSuggestions">
<ul ng-repeat="suggestion in r.autocompleteSuggestions track by $index"> {{suggestion}} </ul>
<aside>
</div>
Ben ngMaterial modülü enjekte ve doğru yerde gerekli tüm Bower bileşenlere sahip olması - yönergesi girişine duyarlı olduğu için bunu biliyorum, ancak yalnızca gri bir kutu gösterir.
(function() {
'use strict';
angular
.module('LocalKnowledgeApp', ['ngResource', 'ngMaterial']);
}());
Bu benim web sayfası gibi bakıyor budur ...
[
Herhangi bir yardım çok takdir!