anychart.onDocumentReady(function () {
anychart.data.loadJsonFile( 'https://gist.githubusercontent.com/shacheeswadia/47b28a4d061e415555f01f5ce48e9ae3/raw/0f7592a8048872db7b77ccd2df8907e61952a806/shippingDataInverted.json',
var map = anychart.map();
map.geoData('anychart.maps.world');
map.title( 'Shipping ports across the globe');
var portsDataSet = anychart.data.set(data).mapAs();
var createSeries = function (name, data, color) {
var series = map.marker(data);
.iconStroke('2 #E1E1E1');
portsDataSet.filter('outflows', filterFunction(0, 100000)),
portsDataSet.filter('outflows', filterFunction(100000, 1000000)),
portsDataSet.filter('outflows', filterFunction(1000000, 5000000)),
'5,000,000 - 10,000,000',
portsDataSet.filter('outflows', filterFunction(5000000, 10000000)),
'More than 10,000,000 outflows',
portsDataSet.filter('outflows', filterFunction(10000000, 0)),
map.container('container');
function filterFunction(val1, val2) {
return function (fieldVal) {
return val1 <= fieldVal && fieldVal < val2;
return function (fieldVal) {