2017-02-27 12 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 
           } 
         } 
       }); 

USAとJPNがハードコードさにGeoJSONデータをexample。私は動的追加のコードを修正しました。単一のジオジソンデータに対して以下のように変更した場合のコードは動作します

$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をデクリメントする必要があります。

thisのように。

+0

はい私は変数を宣言しました。そうでなければ、2番目のケースは機能しませんでした –

0

$ scope.jeojson = []を宣言した後、この長さは0であるため、loop $ scope.jeojson [index]は未定義です(index#0)。 $ scope.jeojson.push(json)...

また、「angular.forEach」ではなく「for」を使用することをお勧めします。それはあなたのために良いと思います!

関連する問題