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="~/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 Newtonsoft.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(JsonConvert.SerializeObject(SampleData.PangaeaBorders), "application/json");
}
[HttpGet]
public ContentResult GetPangaeaContinents() {
return Content(JsonConvert.SerializeObject(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;
}