Как использовать dataloader на ammap
Я пытаюсь использовать dataloader
функциональность на ammap, но я не смог получить.
Вот как я могу попробовать:
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ı"
}
} );
Нет проблем с URL-адресом JSON. Этот URL-адрес возвращает данные типа JSON следующим образом:
[{"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}]
Я хочу использовать как value
на карте total
,
Как я могу использовать с dataloader
на ammap?
Спасибо
1 ответ
Чтобы использовать dataLoader с библиотекой карт, ваши данные должны быть в том же формате, что и карта dataProvider
объект, который включает в себя map
собственность и areas
массив. Если ваши данные не отформатированы таким образом, вы можете использовать dataLoader's postProcess
обратный вызов, чтобы создать dataProvider
возразить и вернуть это вместе с вашими данными. Вам также необходимо переназначить общее свойство, чтобы оно соответствовало вашим данным, чтобы ваш всплывающая подсказка и легенда работали.
Вот код 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;
}
},