2016-12-07 1 views
0

Ich versuche, dataloader Funktionalität auf ammap zu verwenden, aber ich konnte nicht gewinnen.Wie man dataloader auf ammap verwendet

Hier ist, wie ich versuchen:

var dogum_map = AmCharts.makeChart("il_bazinda_dogum_say_dagilim", { 
        "type": "map", 
        "data": { 
         "map": "turkeyLow" 
        }, 
        "theme": "light", 
        "colorSteps": 10, 
        "dataLoader": { 
         "url": "/dogum/dogum_frekans_verilerini_il_bazinda_hesapla", 
         "format": "json", 
         "showErrors": true 
        }, 
        "areasSettings": { 
        "autoZoom": false, 
        "balloonText": "[[value]]", 
        "selectable":true 
        }, 

        "valueLegend": { 
        "right": 10, 
        "minValue": "En Az", 
        "maxValue": "En Çok" 
        }, 

        "export": { 
        "enabled": true, 
        "fileName":"İl Bazında Doğum Sayıları" 
        } 

       }); 

Es gibt kein Problem mit json url.This url gibt json Daten wie folgt aus:

[{"id":"TR-01","ndogum":1111,"mdogum":22,"sdogum":693,"pdogum":336,"total":2162},{"id":"TR-02","ndogum":423,"mdogum":0,"sdogum":325,"pdogum":147,"total":895},{"id":"TR-03","ndogum":199,"mdogum":1,"sdogum":113,"pdogum":42,"total":355},{"id":"TR-04","ndogum":681,"mdogum":17,"sdogum":180,"pdogum":117,"total":995}] 

ich als value auf der Karte verwenden möchten total.

Wie kann ich mit dataloader auf ammap verwenden?

Dank

Antwort

0

die mit den Karten dataloader Bibliothek nutzen zu können, muss Ihre Daten dataProvider Objekt das gleiche Format wie die Karte der sein, die die map Eigenschaft und areas Array enthält. Wenn Ihre Daten nicht auf diese Weise formatiert sind, können Sie mit dem Rückruf postProcess des DataLoader ein Objekt dataProvider erstellen und dieses zusammen mit Ihren Daten zurückgeben. Sie müssen außerdem Ihre Gesamteigenschaft neu zuordnen, damit sie in Ihren Daten einen Wert aufweist, damit Ihre Sprechblase und Legende funktionieren.

Hier ist der Code dataloader:

"dataLoader": { 
    "url": "/dogum/dogum_frekans_verilerini_il_bazinda_hesapla", 
    "postProcess": function(data) { 
     var dataProvider = { 
     "map": "turkeyLow" 
     }; 
     //create new areas array, while adding a value property 
     //to each area containing the value stored in total 
     dataProvider.areas = data.map(function(area) { 
     area.value = area.total; 
     return area; 
     }); 
     return dataProvider; 
    } 
    }, 

Codepen demo

+0

Ok Danke für Ihre Antwort – kodcu