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="~/Scripts/data/customMapData.js"></script>
<script>
function vectorMap_continentsLayer_customize(elements) {
$.each(elements, function(_, element) {
element.applySettings({
color: element.attribute("color")
});
});
}
</script>
using DevExtreme.MVC.Demos.Models.SampleData;
using System.Text.Json;
using System.Web.Mvc;
namespace DevExtreme.MVC.Demos.Controllers {
public class VectorMapController : Controller {
public ActionResult CustomMapData() {
return View();
}
[HttpGet]
public ContentResult GetPangaeaBorders() {
return Content(JsonSerializer.Serialize(SampleData.PangaeaBorders), "application/json");
}
[HttpGet]
public ContentResult GetPangaeaContinents() {
return Content(JsonSerializer.Serialize(SampleData.PangaeaContinents), "application/json");
}
}
}
var customMapData = {
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.MVC.Demos.Models.SampleData {
public partial class SampleData {
public static readonly 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.MVC.Demos.Models.SampleData {
public partial class SampleData {
public static readonly 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;
}