Angularjs 角度传单:如何从ajax响应添加多个geojson
我正在尝试向地图动态添加多个GeoJSON数据。如下图所示。但是,我没有看到数据被渲染Angularjs 角度传单:如何从ajax响应添加多个geojson,angularjs,leaflet,angular-leaflet-directive,Angularjs,Leaflet,Angular Leaflet Directive,我正在尝试向地图动态添加多个GeoJSON数据。如下图所示。但是,我没有看到数据被渲染 $http.get("/kp-data").success(function(data, status){ angular.forEach(data, function(k,v){ $scope.geojson[k.carId] = {data : k.data,
$http.get("/kp-data").success(function(data, status){
angular.forEach(data, function(k,v){
$scope.geojson[k.carId] = {data : k.data,
resetStyleOnMouseout: true,
style: {
fillColor: k.color,
weight: 2,
opacity: 1,
color: 'white',
dashArray: '3',
fillOpacity: 0.7
}
}
});
在本文中,geojson数据USA和JPN是硬编码的。我修改了动态添加的代码。如果我对单个geojson数据进行如下修改,代码就可以工作
$http.get("/kp-data").success(function(data, status){
angular.forEach(data, function(k,v){
if(v==1){
$scope.geojson = {data : k.data,
resetStyleOnMouseout: true,
style: {
fillColor: k.color,
weight: 2,
opacity: 1,
color: 'white',
dashArray: '3',
fillOpacity: 0.7
}
}
}
});
你有错误信息吗 在调用
angular.forEach
函数之前,应该先将$scope.geojson
作为对象清除
类似。在声明$scope.jeojson=[]之后,其长度为0,因此循环中$scope.jeojson[index]未定义(索引#0)。我想你应该试试:$scope.jeojson.push(json)
而且,我建议您使用“for”而不是“angular.forEach”。希望对你有好处 是的,我已经声明了变量,否则第二种情况就不起作用了