Custom Map Data
Documentation
This demo illustrates the use of custom map data with the VectorMap component. The map of Pangaea with modern continental outlines is displayed is this example.
www.wikipedia.org
Feel free to share demo-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.
Backend API
@(Html.DevExtreme().VectorMap()
.ID("map-container")
.Title(t => t
.Text("Map of Pangaea")
.Subtitle("with modern continental outlines")
)
.MaxZoomFactor(2)
.Projection(new JS("customMapData"))
.Export(e => e.Enabled(true))
.Layers(layers => {
layers.Add()
.Name("pangaea")
.DataSource(d => d.StaticJson().Url(Url.Action("GetPangaeaBorders")))
.HoverEnabled(false)
.Color("#bb7862");
layers.Add()
.Name("continents")
.DataSource(d => d.StaticJson().Url(Url.Action("GetPangaeaContinents")))
.Customize("vectorMap_continentsLayer_customize")
.Label(l => l
.Enabled(true)
.DataField("name")
);
})
)
<script src="~/data/customMapData.js"></script>
<script>
function vectorMap_continentsLayer_customize(elements) {
$.each(elements, function(_, element) {
element.applySettings({
color: element.attribute("color")
});
});
}
</script>
using Microsoft.AspNetCore.Mvc;
using DevExtreme.NETCore.Demos.Models.SampleData;
using Newtonsoft.Json;
namespace DevExtreme.NETCore.Demos.Controllers {
public class VectorMapController : Controller {
public ActionResult CustomMapData() {
return View();
}
[HttpGet]
public object GetPangaeaBorders() {
return SampleData.PangaeaBorders;
}
[HttpGet]
public object GetPangaeaContinents() {
return SampleData.PangaeaContinents;
}
}
}
var customMapData = DevExpress.viz.map.projection({
to: function(coordinates) {
return [coordinates[0]/100, coordinates[1]/100];
},
from: function(coordinates) {
return [coordinates[0]*100, coordinates[1]*100];
}
});
using System;
using System.Collections.Generic;
using System.Linq;
namespace DevExtreme.NETCore.Demos.Models.SampleData {
public partial class SampleData {
public static readonly IEnumerable<object> PangaeaBorders = new[] {
new {
type = "FeatureCollection",
features = new[] {
new {
type = "Feature",
properties = new {
name = "Pangaea"
},
geometry = new {
type = "Polygon",
coordinates = new[] {
new[] {
new double[] { -28, 86.33 },
new double[] { -28, 88 },
new double[] { -27.33, 89.67 },
new double[] { -25.67, 91.67 },
new double[] { -21.33, 93.67 },
new double[] { -15, 95.67 },
new double[] { -7.67, 98.67 },
new double[] { -4.67, 99.33 },
new double[] { -1, 99.33 },
new double[] { 4.67, 99 },
new double[] { 9.33, 97.33 },
new double[] { 13.33, 96 },
new double[] { 19, 96 },
new double[] { 25.33, 95 },
new double[] { 29.33, 93 },
new double[] { 34.67, 91.67 },
new double[] { 41.67, 89.33 },
new double[] { 45.33, 88.67 },
new double[] { 48.67, 85.67 },
new double[] { 52, 82.33 },
new double[] { 55.67, 79.67 },
new double[] { 60.67, 75.67 },
new double[] { 64, 71.67 },
new double[] { 64.67, 70.67 },
new double[] { 65.67, 68.33 },
new double[] { 66.33, 67.33 },
new double[] { 67, 66.33 },
new double[] { 69, 65 },
new double[] { 72, 63.33 },
new double[] { 75.33, 61 },
new double[] { 78.33, 58.33 },
new double[] { 80.33, 56 },
new double[] { 81.67, 53 },
new double[] { 84, 50 },
new double[] { 84.67, 48 },
new double[] { 84.67, 46.67 },
new double[] { 82.33, 47.67 },
new double[] { 81, 48.33 },
new double[] { 80.33, 48.33 },
new double[] { 79.67, 47.67 },
new double[] { 80.33, 45 },
new double[] { 82.33, 43.33 },
new double[] { 85, 40.67 },
new double[] { 87.33, 38.67 },
new double[] { 90, 36.67 },
new double[] { 92, 35.67 },
new double[] { 92, 36.33 },
new double[] { 91, 38 },
new double[] { 90, 39.67 },
new double[] { 93.33, 40 },
new double[] { 96.67, 39.67 },
new double[] { 97.67, 39 },
new double[] { 98.67, 37.67 },
new double[] { 99.33, 36.33 },
new double[] { 102, 25 },
new double[] { 101.67, 23 },
new double[] { 99.33, 22 },
new double[] { 96.33, 22.67 },
new double[] { 93.33, 25 },
new double[] { 92, 27 },
new double[] { 90.33, 28 },
new double[] { 89.33, 30.33 },
new double[] { 89.33, 32 },
new double[] { 90.33, 32.67 },
new double[] { 91.33, 33.33 },
new double[] { 89, 35 },
new double[] { 84.33, 38 },
new double[] { 81.67, 40 },
new double[] { 79.33, 41.67 },
new double[] { 77.67, 43.33 },
new double[] { 75.67, 45 },
new double[] { 74, 46.67 },
new double[] { 72.67, 49 },
new double[] { 70.67, 50 },
new double[] { 67.67, 50.67 },
new double[] { 64.67, 50.67 },
new double[] { 62, 50.33 },
new double[] { 59.67, 49.33 },
new double[] { 56.67, 46.33 },
new double[] { 54.33, 44 },
new double[] { 54.33, 41.33 },
new double[] { 51.67, 38 },
new double[] { 50, 35.67 },
new double[] { 48.33, 33.67 },
new double[] { 48.33, 32.33 },
new double[] { 42.33, 31.33 },
new double[] { 37.67, 31.67 },
new double[] { 35.67, 32 },
new double[] { 30.33, 31 },
new double[] { 26.33, 30.33 },
new double[] { 22, 31.67 },
new double[] { 17, 33.33 },
new double[] { 13, 32.67 },
new double[] { 11.67, 32 },
new double[] { 10, 30 },
new double[] { 8, 26.67 },
new double[] { 8, 23 },
new double[] { 8, 20 },
new double[] { 8.67, 19.33 },
new double[] { 9.33, 18 },
new double[] { 9.33, 15.33 },
new double[] { 11.33, 12.67 },
new double[] { 12.67, 10.67 },
new double[] { 15.33, 8.67 },
new double[] { 19, 6 },
new double[] { 24, 4.67 },
new double[] { 26, 4.67 },
new double[] { 37.67, 4.33 },
new double[] { 40.67, 1.67 },
new double[] { 40.67, 0.33 },
new double[] { 40.33, -1.33 },
new double[] { 40.67, -3 },
new double[] { 41.67, -4.33 },
new double[] { 41.67, -5.33 },
new double[] { 40.33, -6.67 },
new double[] { 39, -9.33 },
new double[] { 38, -10.67 },
new double[] { 37.33, -14 },
new double[] { 38.67, -17 },
new double[] { 42.33, -18.67 },
new double[] { 44.33, -19 },
new double[] { 47, -19 },
new double[] { 48.67, -18.67 },
new double[] { 50.33, -19.67 },
new double[] { 50.33, -21 },
new double[] { 48, -21.33 },
new double[] { 47, -22.67 },
new double[] { 46, -24.33 },
new double[] { 45, -26.33 },
new double[] { 46.33, -26.67 },
new double[] { 49, -27.67 },
new double[] { 51, -28 },
new double[] { 53.33, -30.33 },
new double[] { 54.33, -33.67 },
new double[] { 55, -34.67 },
new double[] { 53.67, -36.33 },
new double[] { 52, -40.33 },
new double[] { 51.33, -42.33 },
new double[] { 52, -43.67 },
new double[] { 54, -45.33 },
new double[] { 54.33, -46 },
new double[] { 54.67, -47.33 },
new double[] { 55, -48.67 },
new double[] { 57.33, -50 },
new double[] { 60, -51.33 },
new double[] { 62, -52.33 },
new double[] { 64.33, -53.67 },
new double[] { 64.67, -54 },
new double[] { 65.33, -55.67 },
new double[] { 66.67, -57.33 },
new double[] { 68, -58.33 },
new double[] { 69.33, -58 },
new double[] { 71, -57.67 },
new double[] { 71.67, -59.67 },
new double[] { 72.67, -62 },
new double[] { 73, -64.33 },
new double[] { 73, -66.33 },
new double[] { 72.33, -68.67 },
new double[] { 71.67, -70 },
new double[] { 71, -71.33 },
new double[] { 71.67, -73.67 },
new double[] { 72.67, -75 },
new double[] { 72.67, -77 },
new double[] { 71.33, -80 },
new double[] { 68.67, -81.67 },
new double[] { 65.67, -84.67 },
new double[] { 64.33, -85.67 },
new double[] { 60.67, -88 },
new double[] { 58, -89.67 },
new double[] { 55.67, -91 },
new double[] { 52.33, -92 },
new double[] { 49, -92.67 },
new double[] { 47.67, -93.67 },
new double[] { 46, -94.67 },
new double[] { 44, -96 },
new double[] { 39, -96.67 },
new double[] { 37.33, -96.67 },
new double[] { 34.67, -97 },
new double[] { 32, -97.67 },
new double[] { 32.33, -98.67 },
new double[] { 28.67, -99.67 },
new double[] { 23.67, -99.33 },
new double[] { 21.67, -99.33 },
new double[] { 22.33, -97.33 },
new double[] { 22, -96.33 },
new double[] { 21, -95.67 },
new double[] { 19.67, -95.33 },
new double[] { 18.67, -94.67 },
new double[] { 17.67, -94 },
new double[] { 18.67, -92.67 },
new double[] { 19.67, -91 },
new double[] { 19.67, -89.67 },
new double[] { 19.67, -87.67 },
new double[] { 15, -89.33 },
new double[] { 12.33, -89.33 },
new double[] { 9, -88.67 },
new double[] { 4.33, -86.67 },
new double[] { -0.67, -85 },
new double[] { -4, -83.67 },
new double[] { -3.67, -82 },
new double[] { -2, -78.33 },
new double[] { -4.33, -78.33 },
new double[] { -7.33, -75.33 },
new double[] { -8.67, -74 },
new double[] { -11, -73 },
new double[] { -13, -73.33 },
new double[] { -15, -73.33 },
new double[] { -17.33, -74.67 },
new double[] { -15.67, -76.67 },
new double[] { -14.67, -77.33 },
new double[] { -14.67, -78.33 },
new double[] { -16.33, -79 },
new double[] { -18.67, -80 },
new double[] { -20.33, -79.67 },
new double[] { -26, -73 },
new double[] { -33, -66.67 },
new double[] { -33.33, -61.67 },
new double[] { -33.33, -57.33 },
new double[] { -33.33, -55 },
new double[] { -33.67, -52.67 },
new double[] { -35, -50.67 },
new double[] { -37.33, -48.33 },
new double[] { -39.67, -46.67 },
new double[] { -42.33, -45 },
new double[] { -43, -44.67 },
new double[] { -45, -44 },
new double[] { -46.33, -42.33 },
new double[] { -46.67, -41.67 },
new double[] { -49, -41 },
new double[] { -50.33, -41 },
new double[] { -51.67, -40.67 },
new double[] { -52, -39 },
new double[] { -52.33, -38 },
new double[] { -52.67, -37.33 },
new double[] { -53.33, -36.67 },
new double[] { -54.67, -36 },
new double[] { -56.33, -36 },
new double[] { -57, -35.67 },
new double[] { -57.67, -34.67 },
new double[] { -57.67, -33.33 },
new double[] { -57, -31.67 },
new double[] { -56.67, -29.67 },
new double[] { -56.33, -29.33 },
new double[] { -56.67, -27.33 },
new double[] { -57.33, -25.67 },
new double[] { -57.67, -24.33 },
new double[] { -56.33, -23.67 },
new double[] { -55.33, -23 },
new double[] { -55, -21.67 },
new double[] { -55.67, -19.33 },
new double[] { -57, -18.33 },
new double[] { -60.33, -18.33 },
new double[] { -62.33, -17 },
new double[] { -63.33, -16.33 },
new double[] { -62, -15 },
new double[] { -58.67, -15.33 },
new double[] { -56.33, -15 },
new double[] { -53.33, -13.67 },
new double[] { -51.67, -11.33 },
new double[] { -51.33, -10.67 },
new double[] { -52, -8.33 },
new double[] { -53.33, -5.33 },
new double[] { -55.67, -3.67 },
new double[] { -58.33, -2.67 },
new double[] { -59.67, -2.67 },
new double[] { -60.67, -1.67 },
new double[] { -61, 0 },
new double[] { -60.33, 0.67 },
new double[] { -59.33, 3 },
new double[] { -59.33, 4.33 },
new double[] { -59.33, 6.33 },
new double[] { -60.33, 10 },
new double[] { -62, 12 },
new double[] { -63.67, 14 },
new double[] { -64, 15 },
new double[] { -63, 18.67 },
new double[] { -61.67, 21.67 },
new double[] { -60, 25.67 },
new double[] { -57.33, 32 },
new double[] { -55.67, 35.67 },
new double[] { -55, 38.33 },
new double[] { -54, 42 },
new double[] { -54.33, 44 },
new double[] { -54.33, 45 },
new double[] { -54, 46.33 },
new double[] { -53.67, 47.67 },
new double[] { -55, 48.67 },
new double[] { -57, 49.67 },
new double[] { -59.33, 50 },
new double[] { -61.33, 51 },
new double[] { -62.67, 51.33 },
new double[] { -63.33, 52.33 },
new double[] { -61.67, 54 },
new double[] { -61.67, 56.67 },
new double[] { -60, 58 },
new double[] { -57.33, 60 },
new double[] { -55.67, 61.67 },
new double[] { -52, 61.67 },
new double[] { -50.33, 63.67 },
new double[] { -45.67, 63 },
new double[] { -42.67, 62.67 },
new double[] { -40.67, 62.33 },
new double[] { -39.33, 64 },
new double[] { -37.67, 66 },
new double[] { -36.67, 67 },
new double[] { -35, 67.33 },
new double[] { -32, 67 },
new double[] { -30.33, 66 },
new double[] { -27.67, 64 },
new double[] { -25.33, 63.33 },
new double[] { -23.33, 63.67 },
new double[] { -21.33, 64 },
new double[] { -19.33, 64.33 },
new double[] { -17, 63.67 },
new double[] { -14.67, 62.33 },
new double[] { -12.33, 61 },
new double[] { -9.33, 61 },
new double[] { -8.33, 63.67 },
new double[] { -9, 67 },
new double[] { -10.33, 70.33 },
new double[] { -14, 73 },
new double[] { -15.33, 73 },
new double[] { -16.67, 74 },
new double[] { -17, 76 },
new double[] { -18.67, 78.33 },
new double[] { -20.67, 79 },
new double[] { -22.67, 79 },
new double[] { -25.67, 79 },
new double[] { -28.67, 78 },
new double[] { -30.33, 77 },
new double[] { -31.67, 76 },
new double[] { -33.33, 77 },
new double[] { -34.67, 79.67 },
new double[] { -34, 81 },
new double[] { -32.67, 82 },
new double[] { -32, 83.67 },
new double[] { -32.67, 85.67 },
new double[] { -32.67, 86.67 },
new double[] { -31, 87 },
new double[] { -28.33, 86.67 }
}
}
}
}
}
}
};
}
}
using System;
using System.Collections.Generic;
using System.Linq;
namespace DevExtreme.NETCore.Demos.Models.SampleData {
public partial class SampleData {
public static readonly IEnumerable<object> PangaeaContinents = new[] {
new {
type = "FeatureCollection",
features = new[] {
new {
type = "Feature",
properties = new {
name = "Eurasia",
color = "#70b3a1"
},
geometry = new {
type = "Polygon",
coordinates = new[] {
new[] {
new double[] { -28.33, 86.67 },
new double[] { -27.33, 85 },
new double[] { -26.33, 84.33 },
new double[] { -24.33, 83.67 },
new double[] { -22.67, 84 },
new double[] { -21.33, 85 },
new double[] { -20.33, 86.33 },
new double[] { -18.33, 86.33 },
new double[] { -15.67, 86.33 },
new double[] { -13, 86.67 },
new double[] { -10.33, 86.67 },
new double[] { -7, 86.33 },
new double[] { -3.67, 86.67 },
new double[] { -2, 87.67 },
new double[] { -0.67, 88.67 },
new double[] { -2, 88.67 },
new double[] { -3.33, 89 },
new double[] { -5.67, 90.33 },
new double[] { -7, 91.33 },
new double[] { -5.67, 92.33 },
new double[] { -2, 93.33 },
new double[] { 2, 93.33 },
new double[] { 7.67, 92.67 },
new double[] { 10.67, 92.67 },
new double[] { 16.33, 92 },
new double[] { 20.33, 92 },
new double[] { 24.67, 92 },
new double[] { 26.67, 92 },
new double[] { 27.67, 91.33 },
new double[] { 28, 90.33 },
new double[] { 27, 89.33 },
new double[] { 26.67, 88 },
new double[] { 27.33, 86.67 },
new double[] { 29, 85.67 },
new double[] { 37.33, 85.67 },
new double[] { 38.67, 84.33 },
new double[] { 41.33, 83 },
new double[] { 42, 84.33 },
new double[] { 43.33, 84.33 },
new double[] { 47.33, 82 },
new double[] { 50.67, 80.33 },
new double[] { 55.67, 79.67 },
new double[] { 60.67, 75.67 },
new double[] { 64, 71.67 },
new double[] { 64.67, 70.67 },
new double[] { 65.67, 68.33 },
new double[] { 66.33, 67.33 },
new double[] { 67, 66.33 },
new double[] { 69, 65 },
new double[] { 72, 63.33 },
new double[] { 75.33, 61 },
new double[] { 78.33, 58.33 },
new double[] { 80.33, 56 },
new double[] { 81.67, 53 },
new double[] { 84, 50 },
new double[] { 84.67, 48 },
new double[] { 84.67, 46.67 },
new double[] { 82.33, 47.67 },
new double[] { 81, 48.33 },
new double[] { 80.33, 48.33 },
new double[] { 79.67, 47.67 },
new double[] { 80.33, 45 },
new double[] { 82.33, 43.33 },
new double[] { 85, 40.67 },
new double[] { 87.33, 38.67 },
new double[] { 90, 36.67 },
new double[] { 92, 35.67 },
new double[] { 92, 36.33 },
new double[] { 91, 38 },
new double[] { 90, 39.67 },
new double[] { 93.33, 40 },
new double[] { 96.67, 39.67 },
new double[] { 97.67, 39 },
new double[] { 98.67, 37.67 },
new double[] { 99.33, 36.33 },
new double[] { 102, 25 },
new double[] { 101.67, 23 },
new double[] { 99.33, 22 },
new double[] { 96.33, 22.67 },
new double[] { 93.33, 25 },
new double[] { 92, 27 },
new double[] { 90.33, 28 },
new double[] { 89.33, 30.33 },
new double[] { 89.33, 32 },
new double[] { 90.33, 32.67 },
new double[] { 91.33, 33.33 },
new double[] { 89, 35 },
new double[] { 84.33, 38 },
new double[] { 81.67, 40 },
new double[] { 79.33, 41.67 },
new double[] { 77.67, 43.33 },
new double[] { 75.67, 45 },
new double[] { 74, 46.67 },
new double[] { 72.67, 49 },
new double[] { 70.67, 50 },
new double[] { 67.67, 50.67 },
new double[] { 64.67, 50.67 },
new double[] { 62, 50.33 },
new double[] { 59.67, 49.33 },
new double[] { 56.67, 46.33 },
new double[] { 54.33, 44 },
new double[] { 54.33, 41.33 },
new double[] { 51.67, 38 },
new double[] { 50, 35.67 },
new double[] { 48.33, 33.67 },
new double[] { 48.33, 32.33 },
new double[] { 42.33, 31.33 },
new double[] { 37.67, 31.67 },
new double[] { 35.67, 32 },
new double[] { 30.33, 31 },
new double[] { 26.33, 30.33 },
new double[] { 22, 31.67 },
new double[] { 17, 33.33 },
new double[] { 13, 33 },
new double[] { 13.67, 34.67 },
new double[] { 15, 37.67 },
new double[] { 15.33, 40 },
new double[] { 14.33, 41.33 },
new double[] { 11.67, 41.67 },
new double[] { 8.67, 43.33 },
new double[] { 8, 45 },
new double[] { 6, 44.67 },
new double[] { 6.67, 41.67 },
new double[] { 7.67, 39.33 },
new double[] { 8.33, 35.67 },
new double[] { 9, 32.33 },
new double[] { 9.33, 29.67 },
new double[] { 7.67, 32.67 },
new double[] { 6, 34.67 },
new double[] { 3.67, 36 },
new double[] { 2.33, 36.33 },
new double[] { 1.67, 37.33 },
new double[] { 1.67, 39 },
new double[] { 2.33, 40.33 },
new double[] { 2.33, 42.67 },
new double[] { 2, 44.67 },
new double[] { 2, 46.33 },
new double[] { 2, 47.33 },
new double[] { 3, 48.33 },
new double[] { 4, 49.33 },
new double[] { 6.33, 49.33 },
new double[] { 7.67, 49.67 },
new double[] { 9, 50 },
new double[] { 8.67, 49 },
new double[] { 8.67, 47.67 },
new double[] { 10.67, 47.67 },
new double[] { 13, 47.67 },
new double[] { 15.33, 48.33 },
new double[] { 17, 49.33 },
new double[] { 14, 50.67 },
new double[] { 12.33, 51.67 },
new double[] { 12, 52.33 },
new double[] { 12, 54 },
new double[] { 12, 55.33 },
new double[] { 9, 55.33 },
new double[] { 6.33, 56 },
new double[] { 4, 56.67 },
new double[] { 2.33, 57.67 },
new double[] { 3, 58.67 },
new double[] { 2.67, 60.67 },
new double[] { 4.67, 59.33 },
new double[] { 6, 58.33 },
new double[] { 7.67, 57.33 },
new double[] { 9.67, 56.33 },
new double[] { 11.67, 56.33 },
new double[] { 12, 57.33 },
new double[] { 11.67, 58.67 },
new double[] { 11.67, 59.67 },
new double[] { 12.67, 60 },
new double[] { 14.33, 61 },
new double[] { 13.33, 62.67 },
new double[] { 11.67, 63.33 },
new double[] { 10.33, 63.33 },
new double[] { 7.67, 63.67 },
new double[] { 7.67, 65 },
new double[] { 6, 66 },
new double[] { 3, 67 },
new double[] { -0.33, 67.67 },
new double[] { -2.33, 67.67 },
new double[] { -5, 68.67 },
new double[] { -3.67, 69.67 },
new double[] { -0.67, 71.33 },
new double[] { -0.67, 73 },
new double[] { -2.33, 74 },
new double[] { -4.67, 75 },
new double[] { -5.33, 75.33 },
new double[] { -5.67, 77 },
new double[] { -6.33, 78 },
new double[] { -8.67, 78 },
new double[] { -11.33, 77.33 },
new double[] { -17, 76 },
new double[] { -18.67, 78.33 },
new double[] { -20.67, 79 },
new double[] { -22.67, 79 },
new double[] { -25.67, 79 },
new double[] { -28.67, 78 },
new double[] { -30.33, 77 },
new double[] { -31.67, 76 },
new double[] { -33.33, 77 },
new double[] { -34.67, 79.67 },
new double[] { -34, 81 },
new double[] { -32.67, 82 },
new double[] { -32, 83.67 },
new double[] { -32.67, 85.67 },
new double[] { -32.67, 86.67 },
new double[] { -31, 87 },
new double[] { -28.33, 86.67 }
}
}
}
},
new {
type = "Feature",
properties = new {
name = "Australia",
color = "#bb626a"
},
geometry = new {
type = "Polygon",
coordinates = new[] {
new[] {
new double[] { 64.67, -54 },
new double[] { 65.33, -55.67 },
new double[] { 66.67, -57.33 },
new double[] { 68, -58.33 },
new double[] { 69.33, -58 },
new double[] { 71, -57.67 },
new double[] { 71.67, -59.67 },
new double[] { 72.67, -62 },
new double[] { 73, -64.33 },
new double[] { 73, -66.33 },
new double[] { 72.33, -68.67 },
new double[] { 71.67, -70 },
new double[] { 71, -71.33 },
new double[] { 72, -74 },
new double[] { 70, -74.33 },
new double[] { 67.33, -76 },
new double[] { 64, -79.67 },
new double[] { 61, -82.67 },
new double[] { 64.67, -85.33 },
new double[] { 64.67, -85.67 },
new double[] { 60.67, -88 },
new double[] { 58, -89.67 },
new double[] { 55.67, -91 },
new double[] { 52.33, -92 },
new double[] { 49, -92.67 },
new double[] { 47.67, -93.67 },
new double[] { 46, -94.67 },
new double[] { 44, -96 },
new double[] { 39, -96.67 },
new double[] { 37.33, -96.67 },
new double[] { 34.67, -97 },
new double[] { 32, -97.67 },
new double[] { 31.33, -96 },
new double[] { 31, -95 },
new double[] { 31.33, -93.67 },
new double[] { 32.33, -91.67 },
new double[] { 33.33, -91 },
new double[] { 33.33, -90 },
new double[] { 36, -87.33 },
new double[] { 39, -85 },
new double[] { 42, -81.67 },
new double[] { 45.33, -79.33 },
new double[] { 47.67, -78 },
new double[] { 49.67, -75 },
new double[] { 50.33, -72.33 },
new double[] { 50.33, -68.67 },
new double[] { 50.33, -66 },
new double[] { 51, -63.67 },
new double[] { 55.33, -60.33 },
new double[] { 58.67, -57.33 },
new double[] { 61.33, -55 }
}
}
}
},
new {
type = "Feature",
properties = new {
name = "Antarctica",
color = "#057d85"
},
geometry = new {
type = "Polygon",
coordinates = new[] {
new[] {
new double[] { 50.33, -66 },
new double[] { 50.33, -68.67 },
new double[] { 50.33, -72.33 },
new double[] { 49.67, -75 },
new double[] { 47.67, -78 },
new double[] { 45.33, -79.33 },
new double[] { 42, -81.67 },
new double[] { 39, -85 },
new double[] { 36, -87.33 },
new double[] { 33.33, -90 },
new double[] { 32.67, -89.33 },
new double[] { 30.33, -87.67 },
new double[] { 28.67, -86.67 },
new double[] { 27, -84.67 },
new double[] { 23.67, -84.33 },
new double[] { 19.33, -87.33 },
new double[] { 19.67, -87.67 },
new double[] { 15, -89.33 },
new double[] { 12.33, -89.33 },
new double[] { 9, -88.67 },
new double[] { 4.33, -86.67 },
new double[] { -0.67, -85 },
new double[] { -4, -83.67 },
new double[] { -3.67, -82 },
new double[] { -2, -78.33 },
new double[] { -4.33, -78.33 },
new double[] { -7.33, -75.33 },
new double[] { -8.67, -74 },
new double[] { -10.33, -71.67 },
new double[] { -7.67, -71.67 },
new double[] { -4.33, -71.67 },
new double[] { -0.67, -72.33 },
new double[] { 1.67, -73 },
new double[] { 3.67, -73.33 },
new double[] { 5.33, -73.33 },
new double[] { 6.33, -72.67 },
new double[] { 7, -70.33 },
new double[] { 7.33, -66.67 },
new double[] { 8, -63.33 },
new double[] { 9, -61 },
new double[] { 10.67, -58.67 },
new double[] { 14.33, -57 },
new double[] { 19.33, -54.67 },
new double[] { 24.33, -53.67 },
new double[] { 29.67, -52.33 },
new double[] { 34.33, -51 },
new double[] { 35.33, -51 },
new double[] { 36.67, -51 },
new double[] { 38, -51.67 },
new double[] { 39.33, -53.67 },
new double[] { 39.67, -55.33 },
new double[] { 39.67, -56.67 },
new double[] { 40.33, -58.33 },
new double[] { 42, -58.33 },
new double[] { 44.33, -58 },
new double[] { 47, -58.33 },
new double[] { 49.33, -59.33 },
new double[] { 50.67, -61.33 },
new double[] { 51, -62 }
}
}
}
},
new {
type = "Feature",
properties = new {
name = "Africa",
color = "#ab394b"
},
geometry = new {
type = "Polygon",
coordinates = new[] {
new[] {
new double[] { 7.67, -61.67 },
new double[] { 3.33, -61.67 },
new double[] { 0.67, -63.67 },
new double[] { -2, -65 },
new double[] { -5.33, -65.67 },
new double[] { -9.33, -66 },
new double[] { -12, -65.33 },
new double[] { -13.33, -64.33 },
new double[] { -13.67, -63.33 },
new double[] { -13.67, -62.33 },
new double[] { -12.33, -61.33 },
new double[] { -11, -58.67 },
new double[] { -10.33, -56.67 },
new double[] { -10, -54.67 },
new double[] { -10, -53 },
new double[] { -10.33, -50 },
new double[] { -11, -48 },
new double[] { -11.33, -47 },
new double[] { -11.33, -46.33 },
new double[] { -11.33, -45.33 },
new double[] { -9.33, -43.67 },
new double[] { -7, -41 },
new double[] { -5, -38.67 },
new double[] { -4.33, -37 },
new double[] { -3.67, -35.33 },
new double[] { -3.67, -33.33 },
new double[] { -4, -31.67 },
new double[] { -4.33, -30 },
new double[] { -3.67, -28.33 },
new double[] { -3.33, -26.33 },
new double[] { -3, -25.33 },
new double[] { -3.67, -23.67 },
new double[] { -5, -22.67 },
new double[] { -7, -21 },
new double[] { -8, -19.33 },
new double[] { -9.33, -17 },
new double[] { -9.67, -15.67 },
new double[] { -11, -14.33 },
new double[] { -14, -13.67 },
new double[] { -16.67, -14 },
new double[] { -20.33, -12.67 },
new double[] { -21.33, -11.33 },
new double[] { -22.33, -7.33 },
new double[] { -24.33, -3.33 },
new double[] { -24.67, -0.67 },
new double[] { -23.33, 2 },
new double[] { -21, 5.33 },
new double[] { -18.33, 6.33 },
new double[] { -15.33, 8 },
new double[] { -11.67, 10.33 },
new double[] { -8.67, 12.33 },
new double[] { -5.33, 13 },
new double[] { -2, 13 },
new double[] { 0, 12.67 },
new double[] { 2.67, 11.33 },
new double[] { 5, 10.33 },
new double[] { 8, 9.33 },
new double[] { 9.67, 8.67 },
new double[] { 10.33, 7.67 },
new double[] { 10, 6.67 },
new double[] { 8.67, 5.67 },
new double[] { 9.67, 4.33 },
new double[] { 11.33, 2.33 },
new double[] { 13, 0.67 },
new double[] { 15.33, 0 },
new double[] { 16.67, 0 },
new double[] { 16.67, 1.67 },
new double[] { 17.67, 1.33 },
new double[] { 19, 0.33 },
new double[] { 21, -1 },
new double[] { 23.33, -1.67 },
new double[] { 25.67, -1.67 },
new double[] { 28.33, -2 },
new double[] { 27.67, -3.67 },
new double[] { 27.33, -5.67 },
new double[] { 27, -8.33 },
new double[] { 28, -11 },
new double[] { 29, -14.33 },
new double[] { 30.67, -19 },
new double[] { 33, -25.67 },
new double[] { 33, -26.33 },
new double[] { 33.67, -27.33 },
new double[] { 34.67, -28.33 },
new double[] { 35.67, -28.33 },
new double[] { 36.67, -28.33 },
new double[] { 38.67, -28 },
new double[] { 40, -28 },
new double[] { 41, -28.33 },
new double[] { 40.67, -30 },
new double[] { 39, -32.67 },
new double[] { 36.67, -34.67 },
new double[] { 34.67, -36 },
new double[] { 31.67, -38 },
new double[] { 27.67, -39.33 },
new double[] { 24.67, -42 },
new double[] { 23.33, -43.33 },
new double[] { 22.33, -45.33 },
new double[] { 21.67, -47.33 },
new double[] { 22, -48.67 },
new double[] { 21.67, -50.67 },
new double[] { 19.33, -52.33 },
new double[] { 16, -55 },
new double[] { 14.33, -57 },
new double[] { 10.67, -58.67 },
new double[] { 9, -61 },
new double[] { 8, -63.33 }
}
}
}
},
new {
type = "Feature",
properties = new {
name = "South America",
color = "#dac599"
},
geometry = new {
type = "Polygon",
coordinates = new[] {
new[] {
new double[] { -51.33, -10.67 },
new double[] { -46.67, -10.67 },
new double[] { -43, -11.33 },
new double[] { -35.33, -12.67 },
new double[] { -35.33, -14.33 },
new double[] { -34.67, -15 },
new double[] { -32.67, -15 },
new double[] { -29, -15.67 },
new double[] { -27, -17.33 },
new double[] { -25.33, -19 },
new double[] { -24.33, -19.67 },
new double[] { -21.67, -20 },
new double[] { -17.67, -20.33 },
new double[] { -13.33, -20.33 },
new double[] { -11, -22 },
new double[] { -9.33, -24.33 },
new double[] { -8.67, -27 },
new double[] { -9, -29.33 },
new double[] { -10, -31.33 },
new double[] { -10.33, -33.67 },
new double[] { -10.33, -36.33 },
new double[] { -11, -39 },
new double[] { -13.33, -42.67 },
new double[] { -15.33, -45 },
new double[] { -16.33, -47.33 },
new double[] { -16.67, -50.33 },
new double[] { -17.33, -53 },
new double[] { -17, -54 },
new double[] { -17.67, -55 },
new double[] { -19.33, -56 },
new double[] { -20.33, -57 },
new double[] { -20.67, -57.67 },
new double[] { -20, -60 },
new double[] { -19, -61.33 },
new double[] { -20.33, -62.67 },
new double[] { -22, -64 },
new double[] { -22, -65.67 },
new double[] { -21.67, -67 },
new double[] { -21.33, -67.33 },
new double[] { -22.33, -68 },
new double[] { -22.67, -69 },
new double[] { -21.67, -70 },
new double[] { -20, -72 },
new double[] { -19.33, -74 },
new double[] { -17.33, -74.67 },
new double[] { -15.67, -76.67 },
new double[] { -14.67, -77.33 },
new double[] { -14.67, -78.33 },
new double[] { -16.33, -79 },
new double[] { -18.67, -80 },
new double[] { -20.33, -79.67 },
new double[] { -26, -73 },
new double[] { -33, -66.67 },
new double[] { -33.33, -61.67 },
new double[] { -33.33, -57.33 },
new double[] { -33.33, -55 },
new double[] { -33.67, -52.67 },
new double[] { -35, -50.67 },
new double[] { -37.33, -48.33 },
new double[] { -39.67, -46.67 },
new double[] { -42.33, -45 },
new double[] { -43, -44.67 },
new double[] { -45, -44 },
new double[] { -46.33, -42.33 },
new double[] { -46.67, -41.67 },
new double[] { -49, -41 },
new double[] { -50.33, -41 },
new double[] { -51.67, -40.67 },
new double[] { -52, -39 },
new double[] { -52.33, -38 },
new double[] { -52.67, -37.33 },
new double[] { -53.33, -36.67 },
new double[] { -54.67, -36 },
new double[] { -56.33, -36 },
new double[] { -57, -35.67 },
new double[] { -57.67, -34.67 },
new double[] { -57.67, -33.33 },
new double[] { -57, -31.67 },
new double[] { -56.67, -29.67 },
new double[] { -56.33, -29.33 },
new double[] { -56.67, -27.33 },
new double[] { -57.33, -25.67 },
new double[] { -57.67, -24.33 },
new double[] { -56.33, -23.67 },
new double[] { -55.33, -23 },
new double[] { -55, -21.67 },
new double[] { -55.67, -19.33 },
new double[] { -57, -18.33 },
new double[] { -60.33, -18.33 },
new double[] { -62.33, -17 },
new double[] { -63.33, -16.33 },
new double[] { -62, -15 },
new double[] { -58.67, -15.33 },
new double[] { -56.33, -15 },
new double[] { -53.33, -13.67 },
new double[] { -51.67, -11.33 }
}
}
}
},
new {
type = "Feature",
properties = new {
name = "North America",
color = "#153459"
},
geometry = new {
type = "Polygon",
coordinates = new[] {
new[] {
new double[] { -57.67, 50 },
new double[] { -57, 52 },
new double[] { -56.67, 53 },
new double[] { -57, 54.67 },
new double[] { -56.67, 55.33 },
new double[] { -55.33, 55.67 },
new double[] { -53.67, 56 },
new double[] { -52, 56.33 },
new double[] { -50.67, 57.33 },
new double[] { -49.67, 58.67 },
new double[] { -48.33, 59 },
new double[] { -46.67, 59 },
new double[] { -45.33, 59.67 },
new double[] { -43.67, 60 },
new double[] { -42.33, 59 },
new double[] { -41.67, 57.33 },
new double[] { -42.33, 55.33 },
new double[] { -43, 53.67 },
new double[] { -41.33, 52.67 },
new double[] { -42, 51.67 },
new double[] { -41.33, 50 },
new double[] { -40, 48.67 },
new double[] { -39, 48 },
new double[] { -37.33, 47.67 },
new double[] { -35.33, 50.33 },
new double[] { -34, 47 },
new double[] { -32, 45 },
new double[] { -32.67, 43.33 },
new double[] { -32, 42.67 },
new double[] { -28, 41.67 },
new double[] { -25, 38 },
new double[] { -30.67, 34.33 },
new double[] { -31.67, 33.33 },
new double[] { -32.33, 32 },
new double[] { -32, 30 },
new double[] { -31, 27.67 },
new double[] { -29, 25.67 },
new double[] { -27.67, 24.33 },
new double[] { -26.67, 22.67 },
new double[] { -25, 22.67 },
new double[] { -23, 23.67 },
new double[] { -22, 25.33 },
new double[] { -21.67, 27 },
new double[] { -21.67, 28.67 },
new double[] { -21.33, 30.33 },
new double[] { -20.33, 31.33 },
new double[] { -19.33, 31.67 },
new double[] { -17.33, 31.67 },
new double[] { -15.67, 31 },
new double[] { -14, 29.67 },
new double[] { -12, 27.67 },
new double[] { -10.33, 25 },
new double[] { -9.67, 22.67 },
new double[] { -12.33, 22.33 },
new double[] { -13.33, 21.67 },
new double[] { -14.33, 20.33 },
new double[] { -14.67, 19 },
new double[] { -14, 17 },
new double[] { -17.33, 15.33 },
new double[] { -19, 13.67 },
new double[] { -20, 11 },
new double[] { -22, 10.33 },
new double[] { -24.67, 7.33 },
new double[] { -26.33, 5 },
new double[] { -29, 2.33 },
new double[] { -30.33, 1 },
new double[] { -31, 0 },
new double[] { -29.33, -2 },
new double[] { -29, -3.67 },
new double[] { -31.67, -4 },
new double[] { -32.33, -2.33 },
new double[] { -33.33, -1 },
new double[] { -35, -0.33 },
new double[] { -36.33, -0.33 },
new double[] { -38.67, -3 },
new double[] { -40.67, -3.33 },
new double[] { -43, -3.33 },
new double[] { -44.67, -3.33 },
new double[] { -46, -4.67 },
new double[] { -46.33, -6.33 },
new double[] { -46.67, -8 },
new double[] { -46.33, -10 },
new double[] { -46.67, -10.67 },
new double[] { -51.33, -10.67 },
new double[] { -52, -8.33 },
new double[] { -53.33, -5.33 },
new double[] { -55.67, -3.67 },
new double[] { -58.33, -2.67 },
new double[] { -59.67, -2.67 },
new double[] { -60.67, -1.67 },
new double[] { -61, 0 },
new double[] { -60.33, 0.67 },
new double[] { -59.33, 3 },
new double[] { -59.33, 4.33 },
new double[] { -59.33, 6.33 },
new double[] { -60.33, 10 },
new double[] { -62, 12 },
new double[] { -63.67, 14 },
new double[] { -64, 15 },
new double[] { -63, 18.67 },
new double[] { -61.67, 21.67 },
new double[] { -60, 25.67 },
new double[] { -57.33, 32 },
new double[] { -55.67, 35.67 },
new double[] { -55, 38.33 },
new double[] { -54, 42 },
new double[] { -54.33, 44 },
new double[] { -54.33, 45 },
new double[] { -54, 46.33 },
new double[] { -53.67, 47.67 },
new double[] { -55, 48.67 },
new double[] { -57, 49.67 }
}
}
}
},
new {
type = "Feature",
properties = new {
name = "India",
color = "#b1d2c6"
},
geometry = new {
type = "Polygon",
coordinates = new[] {
new[] {
new double[] { 44.67, -26.33 },
new double[] { 45, -26.33 },
new double[] { 46.33, -26.67 },
new double[] { 49, -27.67 },
new double[] { 51, -28 },
new double[] { 53.33, -30.33 },
new double[] { 54.33, -33.67 },
new double[] { 55, -34.67 },
new double[] { 53.67, -36.33 },
new double[] { 52, -40.33 },
new double[] { 51.33, -42.33 },
new double[] { 52, -43.67 },
new double[] { 54, -45.33 },
new double[] { 54.33, -46 },
new double[] { 54.67, -47.33 },
new double[] { 55, -48.67 },
new double[] { 57.33, -50 },
new double[] { 60, -51.33 },
new double[] { 62, -52.33 },
new double[] { 64, -53.33 },
new double[] { 61.33, -55 },
new double[] { 58.67, -57.33 },
new double[] { 55.33, -60.33 },
new double[] { 51, -63.67 },
new double[] { 51.33, -62.33 },
new double[] { 51, -62 },
new double[] { 50.67, -61.33 },
new double[] { 49.33, -59.33 },
new double[] { 47, -58.33 },
new double[] { 47.33, -57.67 },
new double[] { 47.67, -57.33 },
new double[] { 49, -56 },
new double[] { 50.67, -55 },
new double[] { 51.67, -54 },
new double[] { 49, -53.33 },
new double[] { 46.33, -52.67 },
new double[] { 42.67, -52.33 },
new double[] { 39.67, -53.33 },
new double[] { 39.67, -53.67 },
new double[] { 38, -51.67 },
new double[] { 36.67, -51 },
new double[] { 35.33, -51 },
new double[] { 34.33, -51 },
new double[] { 29.67, -52.33 },
new double[] { 28.67, -52.33 },
new double[] { 30, -51.33 },
new double[] { 31.33, -49 },
new double[] { 33.33, -46.33 },
new double[] { 35, -43 },
new double[] { 37.33, -41 },
new double[] { 40, -39.67 },
new double[] { 40.67, -39 },
new double[] { 41, -38 },
new double[] { 40.33, -36.33 },
new double[] { 36.67, -34.67 },
new double[] { 39, -32.67 },
new double[] { 40.67, -30 },
new double[] { 41, -28.33 },
new double[] { 41.33, -28 }
}
}
}
}
}
}
};
}
}
#map-container {
height: 570px;
}