Available in the Full Version
Map - TypeScript
This sample uses CTP (Community Technical Preview) features. The API and behavior may change when these features are released with full support.
This sample is designed for a larger screen size.
On mobile, try rotating your screen, view full size, or email to another device.
This sample demonstrates how to use TypeScript to bind database and shape files with countries of the world to the Map control using a geographic shapes series.
Code View
Copy to Clipboard
<!DOCTYPE html> <html> <head> <title></title> <!-- Ignite UI for jQuery Required Combined CSS Files --> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" /> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/structure/infragistics.css" rel="stylesheet" /> <script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js"></script> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script> <!-- Ignite UI for jQuery Required Combined JavaScript Files --> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.core.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.dv.js"></script> <style> #tooltipTable { font-family: Verdana, Arial, Helvetica, sans-serif; width: 100%; border-collapse: collapse; } #tooltipTable td, #tooltipTable th { font-size: 9px; border: 1px solid #2d87cb; padding: 3px 7px 2px 7px; } #tooltipTable th { font-weight: bold; font-size: 11px; text-align: left; padding-top: 5px; padding-bottom: 4px; background-color: #2d87cb; color: #ffffff; } </style> </head> <body> <script id="geoShapeTooltip" type="text/x-jquery-tmpl"> <table id="tooltipTable"> <tr> <th class="tooltipHeading" colspan="2"> ${item.fieldValues.NAME}, ${item.fieldValues.REGION} </th> </tr> <tr> <td>Population:</td> <td>${item.fieldValues.POP2005}</td> </tr> </table> </script> <div id="map"></div> <script src="/TypeScriptSamples/map/typescript.js"></script> </body> </html>
/// <reference path="/js/typings/jquery.d.ts" /> /// <reference path="/js/typings/jqueryui.d.ts" /> /// <reference path="/js/typings/igniteui.d.ts" /> class ColorPicker { brushes: string[]; interval: number; constructor(_min: number, _max: number) { this.brushes = ["#d9c616", "#d96f17", "#d1150c"]; this.interval = (_max - _min) / (this.brushes.length - 1); } getColorByIndex(val) { var index = Math.round(val / this.interval); if (index < 0) { index = 0; } else if (index > (this.brushes.length - 1)) { index = this.brushes.length - 1; } return this.brushes[index]; } } var colorPicker = new ColorPicker(100000, 500000000); $(function () { $("#map").igMap({ width: "700px", height: "500px", windowRect: { left: 0.1, top: 0.1, height: 0.7, width: 0.7 }, overviewPlusDetailPaneVisibility: "visible", overviewPlusDetailPaneBackgroundImageUri: "/images/samples/maps/world.png", series: [{ type: "geographicShape", name: "worldCountries", markerType: "none", shapeMemberPath: "points", shapeDataSource: '/data-files/shapes/world_countries_reg.shp', databaseSource: '/data-files/shapes/world_countries_reg.dbf', opacity: 0.8, outlineThickness: 1, showTooltip: true, tooltipTemplate: "geoShapeTooltip", shapeStyleSelector: { selectStyle: function (s, o) { var pop = s.fields.item("POP2005"); var popInt = parseInt(pop); var colString = colorPicker.getColorByIndex(popInt); //getColorValue(popInt); return { fill: colString, stroke: "gray" }; } } }] }); $("#map").find(".ui-widget-content").append("<span class='copyright-notice'><a href='http://www.openstreetmap.org/copyright'>© OpenStreetMap contributors</a></span>"); });