2017-02-27 36 views
0

我試圖動態地將多個GeoJSON數據添加到我的地圖。如下所示。但是,我沒有看到數據呈現。Angular-leaflet:如何從ajax響應中添加多個geojson

$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 
           } 
         } 
       }); 

在這個example geojson數據USA和JPN是硬編碼的。我修改了動態添加的代碼。代碼的作品,如果我修改如下單個幾何數據

$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 
          } 
        } 
       } 
      }); 

任何幫助,非常感謝。謝謝

回答

0

你有一些錯誤信息?

而且您應該在您調用angular.forEach函數之前將對象$scope.geojson作爲對象刪除。

like this

+0

是的我已經聲明瞭變量,否則第二種情況下不會有效 –

0

聲明$ scope.jeojson = []後,其長度爲0,所以在循環$ scope.jeojson [index]是未定義的(索引#0)。我認爲你應該嘗試一下:$ scope.jeojson.push(json)...

而且,我建議你使用「for」而不是「angular.forEach」。希望對你有好處!