2017-08-19 2 views
0

ではありません。initAutocomplete私はAngularJSを使用してオートコンプリート場所を使用しようとしています、と私は受信機能

initAutocompleteは、私は同様の問題のために検索機能

ではない、何も解決に貢献していません問題。

これは私のコードです:

angular.module('myapp').controller('FirstCont', function ($scope, $http) { 

console.log("OUT"); 

$scope.slctd_lng = 'SDF' 
$scope.slct_att = 'SD' 

window.initAutocomplete = function() { 

    console.log("entered INIT"); 

    $scope.autocomplete = new google.maps.places.Autocomplete((document.getElementById('autocomplete')),{ types: ['geocode'] }); 
    $scope.autocomplete.addListener('place_changed', $scocpe.fillInAddress); 
} 


$scope.fillInAddress = function() { 
    var place = $scope.autocomplete.getPlace(); 

} 


$scope.geolocate = function() { 

    if (navigator.geolocation) { 

     navigator.geolocation.getCurrentPosition(function (position) { 

      var geolocation = { 
       lat: position.coords.latitude, 
       lng: position.coords.longitude 
      }; 

      var circle = new google.maps.Circle({ 
       center: geolocation, 
       radius: position.coords.accuracy 
      }); 

      $scope.autocomplete.setBounds(circle.getBounds()); 
     }); 
    } 
}}); 

そして、私のhtmlファイルでは、私が含ま:

<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDsMQs29oSTadTMQI8Qy-VudC4N-kPvCpU&libraries=places&callback=initAutocomplete" 
     async defer></script> 

注:私は見ることができます:(HTMLファイル内)

$scope.slctd_lng = 'SDF' 
$scope.slct_att = 'SD' 

しかし、私はコンソールで 'OUT'を受け取らなかった!

ありがとうございました

+0

あなたの$の範囲にinitAutocompleteを宣言してみて、その機能 – Vivz

+0

にinit関数をinokeは、問題を解決していない$スコープを使用してそのページをロードする前に実行する必要があります

(私は前に試してみました) –

答えて

0

コントローラ内に関数を宣言してください。 $scope.initAutocomplete = function() ...;その後、$ scope.initAutocomplete(としてそれを使用)、またはHTMLで単にinitAutocomplete()

+0

スコープ..しかし、これは動作しませんが、この方法で私はログにOUTを見ることができます。 コントローラを実行する前に、ページをロードする前にinit関数を実行する必要があります。 –

+0

@ O.Daccaあなたがそれを前に持っている必要があるなら、あなたはあなたの答えを持っています。角度制御器はそれのための場所ではありません。このリンクは便利です[リンク](https://stackoverflow.com/questions/20663076/angularjs-app-run-documentation) – hastrb

0

それが動作するようになりました、私は何も変更しませんでした... 多分、私はinit関数を書き換え、それが動作するようになりました、それ入力エラーでした。私は$としてそれを宣言しようとしたおかげ

関連する問題