Edit this page

Map HtmlHelper Overview

The Map HtmlHelper extension is a server-side wrapper for the Kendo UI Map widget.

Getting Started

Configuration

Below are listed the steps for you to follow when configuring the Kendo UI Map.

  1. Make sure you followed all the steps from the introductory article on Telerik UI for ASP.NET MVC.

  2. Create a new action method which renders the view.

    Example
    public ActionResult Index()
    {
        return View();
    }
    
  3. Add a Map.

    Example
    
        <%: Html.Kendo().Map()
            .Name("map")
            .Layers(layers =>
            {
                layers.Add()
                    .Type(MapLayerType.Tile)
                    .UrlTemplate("http://#= subdomain #.tile.openstreetmap.org/#= zoom #/#= x #/#= y #.png")
                    .Subdomains("a", "b", "c");
            })
        %>
    
    
        @(Html.Kendo().Map()
            .Name("map")
            .Layers(layers =>
            {
                layers.Add()
                    .Type(MapLayerType.Tile)
                    .UrlTemplate("http://#= subdomain #.tile.openstreetmap.org/#= zoom #/#= x #/#= y #.png")
                    .Subdomains("a", "b", "c");
            })
        )
    

Event Handling

You can subscribe to all Map events.

By Handler Name

The following example demonstrates how to subscribe to events by a handler name.

Example

    <%: Html.Kendo().Map()
        .Name("map")
        .Layers(layers =>
        {
            layers.Add()
                .Type(MapLayerType.Tile)
                .UrlTemplate("http://#= subdomain #.tile.openstreetmap.org/#= zoom #/#= x #/#= y #.png")
                .Subdomains("a", "b", "c");
        })
        .Events(e => e
            .Reset("mapReset")
        )
    %>
    <script>
        function mapReset(e) {
            //Handle the reset event.
        }
    </script>

    @(Html.Kendo().Map()
        .Name("map")
        .Layers(layers =>
        {
            layers.Add()
                .Type(MapLayerType.Tile)
                .UrlTemplate("http://#= subdomain #.tile.openstreetmap.org/#= zoom #/#= x #/#= y #.png")
                .Subdomains("a", "b", "c");
        })
        .Events(e => e
            .Reset("mapReset")
        )
    )
    <script>
        function mapReset(e) {
            //Handle the reset event.
        }
    </script>

By Template Delegate

The following example demonstrates how to subscribe to events by a template delegate.

Example

    @(Html.Kendo().Map()
        .Name("map")
        .Layers(layers =>
        {
            layers.Add()
                .Type(MapLayerType.Tile)
                .UrlTemplate("http://#= subdomain #.tile.openstreetmap.org/#= zoom #/#= x #/#= y #.png")
                .Subdomains("a", "b", "c");
        })
        .Events(e => e
          .Reset(@<text>
            function() {
                //Handle the reset event inline.
            }
            </text>)
        )
    )

Reference

Existing Instances

To reference an existing Kendo UI Map instance, use the jQuery.data() configuration option. Once a reference is established, use the Map API to control its behavior.

Example
//Put this after your Kendo UI Map for ASP.NET MVC declaration.
<script>
$(function() {
    //Notice that the Name() of the Map is used to get its client-side instance.
    var map = $("#map").data("kendoMap");
});
</script>

See Also