Back to Devexpress

MapLineMappingInfo.Point2 Property

wpf-devexpress-dot-xpf-dot-map-dot-maplinemappinginfo-dot-point2.md

latest7.1 KB
Original Source

MapLineMappingInfo.Point2 Property

Gets or sets the name of a data source member that contains information about the second line point.

Namespace : DevExpress.Xpf.Map

Assembly : DevExpress.Xpf.Map.v25.2.dll

NuGet Package : DevExpress.Wpf.Map

Declaration

csharp
public string Point2 { get; set; }
vb
Public Property Point2 As String

Property Value

TypeDescription
String

The data member name.

|

Example

How to: Generate Lines from a Data Source

This example demonstrates how to generate map lines based on data source objects and how to display these lines on a vector layer.

  1. Create a ListSourceDataAdapter object and assign it to the VectorLayer.Data property.

  2. Specify the adapter’s DataSource property.

  3. Create a MapLineMappingInfo object and assign to the adapter’s Mappings property.

  4. Map the following properties to data source fields:

  5. To specify the type of created map items, you should assign the appropriate settings to the ListSourceDataAdapter.ItemSettings property. In this example, use MapLineSettings to draw lines.

xaml
<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:MapApp"
        xmlns:dxm="http://schemas.devexpress.com/winfx/2008/xaml/map" 
        x:Class="MapApp.MainWindow"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <dxm:MapControl x:Name="mapControl">
            <dxm:ImageLayer>
                <dxm:BingMapDataProvider Kind="RoadGray" 
                                         BingKey="Insert your Bing key here." />
            </dxm:ImageLayer>
            <dxm:VectorLayer x:Name="vectorLayer" DataLoaded="OnVectorLayerDataLoaded">
                <dxm:VectorLayer.Data>
                    <dxm:ListSourceDataAdapter x:Name="listSourceDataAdapter" 
                                               DataSource="{Binding}">
                        <dxm:ListSourceDataAdapter.Mappings>
                            <dxm:MapLineMappingInfo Latitude="X" 
                                                    Longitude="Y"
                                                    Point1="StartPoint"
                                                    Point2="EndPoint"/>
                        </dxm:ListSourceDataAdapter.Mappings>
                        <dxm:ListSourceDataAdapter.ItemSettings>
                            <dxm:MapLineSettings Stroke="Red">
                                <dxm:MapLineSettings.EndLineCap>
                                    <dxm:MapLineCap/>
                                </dxm:MapLineSettings.EndLineCap>
                                <dxm:MapLineSettings.StrokeStyle>
                                    <dxm:StrokeStyle Thickness="2"/>
                                </dxm:MapLineSettings.StrokeStyle>
                            </dxm:MapLineSettings>
                        </dxm:ListSourceDataAdapter.ItemSettings>
                    </dxm:ListSourceDataAdapter>
                </dxm:VectorLayer.Data>
            </dxm:VectorLayer>
        </dxm:MapControl>
    </Grid>
</Window>
csharp
using DevExpress.Xpf.Map;
using System.Collections.ObjectModel;
using System.Windows;

namespace MapApp {
    public partial class MainWindow : Window {
        ObservableCollection<Line> Data { get; set; }
        public MainWindow() {
            InitializeComponent();
            Data = new ObservableCollection<Line>();
            Line line1 = new Line(new Coordinate(-5.93107, -35.112723), new Coordinate(4.253438, 5.47072));
            Data.Add(line1);
            Line line2 = new Line(new Coordinate(-17.21382, 11.504151), new Coordinate(-22.1531, -41.45984));
            Data.Add(line2);
            this.DataContext = Data;
        }
        private void OnVectorLayerDataLoaded(object sender, DataLoadedEventArgs e) {
            mapControl.ZoomToFitLayerItems(new LayerBase[] { vectorLayer }, paddingFactor: 0.3);
        }
    }
    public struct Coordinate {
        public double X { get; set; }
        public double Y { get; set; }
        public Coordinate(double x, double y) {
            X = x;
            Y = y;
        }
    }
    public class Line {
        public Coordinate StartPoint { get; set; }
        public Coordinate EndPoint { get; set; }
        public Line(Coordinate p1, Coordinate p2) {
            this.StartPoint = p1;
            this.EndPoint = p2;
        }
    }
}
vb
Imports DevExpress.Xpf.Map
Imports System.Collections.ObjectModel
Namespace MapApp
    Public Partial Class MainWindow
        Inherits Window
        Private Property Data As ObservableCollection(Of Line)
        Public Sub New()
            InitializeComponent()
            Data = New ObservableCollection(Of Line)()
            Dim line1 As Line = New Line(New Coordinate(-5.93107, -35.112723), New Coordinate(4.253438, 5.47072))
            Data.Add(line1)
            Dim line2 As Line = New Line(New Coordinate(-17.21382, 11.504151), New Coordinate(-22.1531, -41.45984))
            Data.Add(line2)
            Me.DataContext = Data
        End Sub
        Private Sub OnVectorLayerDataLoaded(ByVal sender As Object, ByVal e As DataLoadedEventArgs)
            mapControl.ZoomToFitLayerItems(New LayerBase() {vectorLayer}, paddingFactor:=0.3)
        End Sub
    End Class
    Public Structure Coordinate
        Public Property X As Double
        Public Property Y As Double
        Public Sub New(ByVal x As Double, ByVal y As Double)
            Me.X = x
            Me.Y = y
        End Sub
    End Structure
    Public Class Line
        Public Property StartPoint As Coordinate
        Public Property EndPoint As Coordinate

        Public Sub New(ByVal p1 As Coordinate, ByVal p2 As Coordinate)
            StartPoint = p1
            EndPoint = p2
        End Sub
    End Class
End Namespace

See Also

MapLineMappingInfo Class

MapLineMappingInfo Members

DevExpress.Xpf.Map Namespace