Skip to main content
A newer version of this page is available. .

Image Tile Providers

  • 3 minutes to read

A MapControl uses image tile data providers to provide map image layers with data from imagery services. Specify the ImageLayer.DataProvider property to add tiles from imagery services to the map.

The Map control supports the following tile providers:

Create your own data provider to use another online imagery service or to load image tiles from an intranet server.

Bing Maps Data Provider

This data provider loads image tiles from the MS Bing Maps.

BingMapProvider

Note

Read and accept the Microsoft® Bing™ Maps Platform APIs Terms Of Use before you use Bing Maps.

You should register a Bing Maps key to use the Bing Maps services. Refer to How to: Get a Bing Maps Key for more information.

Use the BingMapDataProvider class to work with Bing Maps:

<dxm:MapControl>
    <dxm:MapControl.Layers>
        <dxm:ImageLayer>
            <dxm:ImageLayer.DataProvider>
                <dxm:BingMapDataProvider BingKey="Your Bing Maps key here"
                                         Kind="Hybrid"/>
            </dxm:ImageLayer.DataProvider>
        </dxm:ImageLayer>
    </dxm:MapControl.Layers>
</dxm:MapControl>

Use the following API members to connect the Map Control to the Bing Maps service:

Member Description
ImageLayer Displays map images obtained from the map image data provider.
ImageLayer.DataProvider Gets or sets the provider used to obtain images from an image source.
BingMapDataProvider The class that loads map images from the Bing Maps data provider.
BingMapDataProvider.BingKey Get or sets the key that is required to connect to the Bing Maps data provider.
BingMapDataProvider.Kind Gets or sets a value specifying the type of images to be displayed on a map.

The Map Control also supports the following Bing Maps data providers:

OpenStreetMap Data Provider

This data provider loads image tiles from the the OpenStreetMap service.

OpenStreetMapDataProviderExample

Note

Review the Copyright and License and Tile usage policy pages before using map images in the OpenStreetMap format.

You should provide the UserAgent parameter with a valid value to identify your application.

Use the OpenStreetMapDataProvider class to work with OpenStreetMap:

<dxm:MapControl>
    <dxm:MapControl.Layers>
        <dxm:ImageLayer>
            <dxm:ImageLayer.DataProvider>
                <dxm:OpenStreetMapDataProvider TileUriTemplate="http://{subdomain}.tile.MyCustomOSMProvider.org/{tileLevel}/{tileX}/{tileY}.png"
                                               WebRequest="OnWebRequest"/>
            </dxm:ImageLayer.DataProvider>
        </dxm:ImageLayer>
    </dxm:MapControl.Layers>
</dxm:MapControl>

Use the following API members to connect the Map Control to the OpenStreetMap service:

Member Description
ImageLayer Displays map images obtained from the map image data provider.
ImageLayer.DataProvider Gets or sets the provider used to obtain images from an image source.
OpenStreetMapDataProvider The class that loads map images from a web resource that provides data in the OpenStreetMap format.
MapImageDataProviderBase.WebRequest Occurs when the Map control sends a request to a web service.
OpenStreetMapDataProvider.TileUriTemplate Gets or sets a template that is used to obtain image tiles from the current OpenStreetMap provider.
MapWebRequestEventArgs.UserAgent Gets or sets the value of the user-agent HTTP header.

The Map Control also supports the following OpenStreetMap data providers:

Custom Image Data Provider

To develop a data provider, create a MapDataProviderBase class descendant and define a custom image tile source for it. This image tile source should be derived from MapTileSourceBaseand provide a way to retrieve image tiles.

Example:

See Also