2016-01-18 164 views
-1

我這樣GPS:未定義

geocoder.geocode(request, function(data, status) { 
    if (status = google.maps.GeocoderStatus.OK) { 
     if (data[0] != null) { 
     alert("address is: " + data[0].formatted_address); 
     $scope.$apply(function() { 
     $scope.addresses = data[0].formatted_address; 
     //$scope.apply(); 
     }) 
     } else { 
     alert("No address available"); 
     } 
    } 
    }) 

我越來越範圍變量這種方式返回GPS應用程序的地址不能設置屬性應用程序我得到這個錯誤: 未捕獲TypeError:無法設置屬性'地址'未定義 請問可能是錯的。

+0

是這個代碼的控制器中運行? – Hisham

+0

是的,它是...... – Blaze

+0

嘗試使用Chrome開發人員工具或螢火蟲調試您的程式碼。 – Hisham

回答

0

刪除您傳遞給地理編碼回調函數的$ scope變量。您正在重寫控制器的$ scope變量。

,並確保控制器聲明注入一個$ scope變量

app.controller('MyCtrl', function($scope) { 
    // do your thing 
}); 
+0

你的意思是$ scope.apply(); – Blaze

+0

不,我的意思是在這行代碼 - > geocoder.geocode(request,function(data,status,$ scope){ 從這裏刪除$ scope傳遞參數,並確保它被添加到控制器函數就像我的回答一樣 – Hisham

0

看起來像「$範圍」是從依賴列表中缺少注入PARAMS在你的控制器。

angular.module('MyGeoCoderControllerModule', []) 
.controller('GeoCoderController', ['$scope', function($scope) { 


} 
]);