Javascript 谷歌地图显示未捕获错误:达到10$digest()迭代次数。流产!;角度应用程序
我正在尝试用我的angular应用程序创建地图,以显示地图上的坐标。 这些坐标是从我的api获得的,并显示在详细页面上。 但是HTML代码给了我一个错误: 未捕获错误:已达到10$digest()迭代。流产 HTML:Javascript 谷歌地图显示未捕获错误:达到10$digest()迭代次数。流产!;角度应用程序,javascript,angularjs,google-maps,Javascript,Angularjs,Google Maps,我正在尝试用我的angular应用程序创建地图,以显示地图上的坐标。 这些坐标是从我的api获得的,并显示在详细页面上。 但是HTML代码给了我一个错误: 未捕获错误:已达到10$digest()迭代。流产 HTML: 据我所知,你的html没有问题。 当您创建一个循环(如更新关注的变量)并在触发的事件函数中再次更新它时,会发生此错误 您能编辑您的问题并向我们展示您的javascript吗?我想您对使用angularjs的谷歌地图感兴趣 我建议另一种选择,ng地图,正如我在这里建议的那样 使用
据我所知,你的html没有问题。 当您创建一个循环(如更新关注的变量)并在触发的事件函数中再次更新它时,会发生此错误
您能编辑您的问题并向我们展示您的javascript吗?我想您对使用angularjs的谷歌地图感兴趣 我建议另一种选择,ng地图,正如我在这里建议的那样 使用ngMap,我可以轻松满足您的需求,您不必了解指令选项和指令
<script>
var MyCtrl = function($scope) {
$scope.updateCenter = function(lat,lng) {
$scope.map.setCenter(new google.maps.LatLng(lat, lng));
}
}
</script>
<body ng-controller="MyCtrl">
<map center="[40.74, -74.18]"></map>
<button ng-click="updateCenter(41.74, -75.18)">Update Center</button>
</body>
var MyCtrl=函数($scope){
$scope.updateCenter=功能(lat,lng){
$scope.map.setCenter(新的google.maps.LatLng(lat,lng));
}
}
更新中心
榜样 我对angular很陌生,你能告诉我更详细的方法吗?我只想在地图上显示坐标,这些坐标已经通过我的api显示在我的页面上,我只想在地图上显示它们,这就是我想要的。如果我使用ngmap方法,我可以将我自己的变量放在中心=“这里是更新中心的示例。”。我更新了答案plunkr更新了你添加的值,我希望我的变量来自angular,它已经以{{lat}}、{{lng}的形式出现在页面上。我希望这些值在center中是这样的?还是这个?无论如何您可以更新中心,
$http.get('http://94.125.132.253:8000/getuncategorisedplaces').success(function (data, status, headers) {
$scope.places = data;
console.log(data);
$scope.message = 'Uncategorised places';
})
$scope.id = $routeParams.id;
$scope.showplace = function(id) {
$http({method: 'GET', url: 'http://94.125.132.253:8000/getitemdata?ID=' + $scope.id}).
success(function(data, status, headers, config) {
$scope.place = data; //set view model
console.log(data);
console.log(id);
$scope.view = 'templates/detail.html';
})
.error(function(data, status, headers, config) {
$scope.place = data || "Request failed";
$scope.status = status;
$scope.view = 'templates/detail.html';
});
}
$scope.showplace();
$scope.map = function(){
$scope.zoom = 13;
}
$scope.map();
$scope.meta = function () {
$http.get('http://94.125.132.253:8000/getmetas').success(function (data, status, headers) {
$scope.metas = data;
console.log($scope.category);
console.log(data);
$scope.message = 'List of Uncategorised places';
})
}
$scope.meta();
$scope.meta1 = function (data, status, headers) {
var formdata = {
'cat': $scope.cat,
}
var inserturl = 'http://94.125.132.253:8000/getcategories?meta=' + formdata.cat;
return $http.get(inserturl).success(function (data, status, headers) {
$scope.categories = data;
console.log(formdata.cat);
console.log(data);
});
};
$scope.$watch('cat', function (newvalue) {
$scope.meta1();
});
$scope.meta2 = function (data, status, headers) {
var formdata = {
'category': $scope.category,
}
var inserturl = 'http://94.125.132.253:8000/getsubcategories?category=' + formdata.category;
return $http.get(inserturl).success(function (data, status, headers) {
$scope.subcategories = data;
console.log(formdata.sub);
console.log(data);
});
};
$scope.$watch('category', function (newvalue2) {
$scope.meta2();
});
<script>
var MyCtrl = function($scope) {
$scope.updateCenter = function(lat,lng) {
$scope.map.setCenter(new google.maps.LatLng(lat, lng));
}
}
</script>
<body ng-controller="MyCtrl">
<map center="[40.74, -74.18]"></map>
<button ng-click="updateCenter(41.74, -75.18)">Update Center</button>
</body>