Back to Devexpress

How to: Automatically Generate Vector Items from a Datasource

wpf-15170-controls-and-libraries-map-control-examples-vector-data-providing-data-how-to-automatically-generate-vector-items-from-a-datasource.md

latest3.6 KB
Original Source

How to: Automatically Generate Vector Items from a Datasource

  • Jun 07, 2019

This example shows how to use the ListSourceDataAdapter to load shipwreck information from an XML file and display wrecked ship images on a map.

  1. Create a ListSourceDataAdapter object and assign it to the VectorLayer.Data property.
  2. Specify the DataSourceAdapterBase.DataSource property.
  3. Configure the ListSourceDataAdapter.Mappings property to assign data source field values to map items.
  4. Use the ListSourceDataAdapter.ItemSettings property to specify map item settings.
csharp
<dxm:VectorLayer.Data>
    <dxm:ListSourceDataAdapter DataSource="{Binding Source={StaticResource data}, XPath=Ship}">
        <dxm:ListSourceDataAdapter.AttributeMappings>
            <dxm:MapItemAttributeMapping Name="Name" Member="Name"/>
            <dxm:MapItemAttributeMapping Name="Year" Member="Year"/>
            <dxm:MapItemAttributeMapping Name="Description" Member="Description"/>
        </dxm:ListSourceDataAdapter.AttributeMappings>
        <dxm:ListSourceDataAdapter.Mappings>
            <dxm:MapItemMappingInfo Latitude="Latitude" Longitude="Longitude"/>
        </dxm:ListSourceDataAdapter.Mappings>
        <dxm:ListSourceDataAdapter.ItemSettings>
            <dxm:MapCustomElementSettings ContentTemplate="{Binding Source={StaticResource itemTemplate}}"/>
        </dxm:ListSourceDataAdapter.ItemSettings>
    </dxm:ListSourceDataAdapter>
</dxm:VectorLayer.Data>

The structure of the XML file used in the example looks as follows:

Show XML

xml
<?xml version="1.0" standalone="yes"?>
<Ships>
  <Ship>
    <Year>1898</Year>
    <Name>Koonya</Name>
    <Description>A steamboat that ran aground off Cronulla Beach.</Description>
    <Latitude>-34.042876</Latitude>
    <Longitude>151.206777</Longitude>
  </Ship>
  <Ship>
    <Year>1809</Year>
    <Name>Hazard</Name>
    <Description>A sloop that ran aground on Box Head.</Description>
    <Latitude>-33.54227</Latitude>
    <Longitude>151.3485</Longitude>
  </Ship>  
  <!--...-->
</Ships>

See Also

How to: Load Data from a Shapefile

How to: Load Data from a KML File

How to: Load Data from a SQL Geometry Datasource

How to: Manually Generate Vector Items

How to: Automatically Generate Bubble Chart Items from a Datasource

How to: Automatically Generate Pie Chart Items from a Datasource