Я борюсь с реализацией автозаполнения адреса Google внутри ng-repeat
в angularJS.
У меня есть цикл ng-repeat
для печати некоторого HTML.
<table>
<thead>
<tr>
<th>Street</th>
<th>City</th>
<th>State</th>
<th>Zip</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="location in assetLocations track by $index">
<td>
<input type="text" class="street_edit_group form-control" ng-model="location.Street__c" id="{{$index}}">
</td>
<td>
<input type="text" class="form-control" ng-model="location.City__c">
</td>
<td>
<input type="text" class="form-control" ng-model="location.State__c">
<td>
<input type="text" class="form-control" ng-model="location.Zip__c">
</td>
</tr>
</tbody>
</table>
Я хочу реализоватьавтозаполнение адреса Google в street_edit_group
классе для каждого ввода.
<input type="text" class="street_edit_group form-control" ng-model="location.Street__c" id="{{$index}}">
для этого, что я сделал в контроллере, это
$scope.autocompleteAssetLocationEdit = null;
$scope.initialize = function() {
var clsname = document.getElementsByClassName('street_edit_group');
for (var i = 0; i < clsname.length; i++) {
var id = clsname[i].id;
$scope.autocompleteAssetLocationEdit = new google.maps.places.Autocomplete(
(document.getElementById(id)), {
types: ['geocode']
});
$scope.autocompleteAssetLocationEdit.addListener('place_changed', function () { $scope.fillInEditAddress() });
}
};
И, в $scope.fillInEditAddress()
, у меня есть
$scope.fillInEditAddress = function(){
var streetNumber = '';
var street = '';
var city = '';
var stateCode = '';
var zipCode = '';
var place = $scope.autocompleteAssetLocationEdit.getPlace();
console.log(place);
};
Но, $scope.autocompleteAssetLocationEdit.getPlace();
не находит там никакого места.
Что не так с моим кодом?