Автозаполнение адреса Google для множественного ввода в AngularJS - PullRequest
0 голосов
/ 11 октября 2018

Я борюсь с реализацией автозаполнения адреса 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(); не находит там никакого места.

Что не так с моим кодом?

...