Telerik MapPinPoint位置无法正确设置

时间:2017-03-10 16:02:59

标签: c# wpf telerik

我使用Telerik RadMap和VisualisationLayer在地图上显示邮政编码的形状。

<telerik:VisualizationLayer ItemsSource="{Binding MapItemCollection}" x:Name="VisualizationLayer">
    <telerik:VisualizationLayer.ItemTemplate>
        <DataTemplate>
            <telerik:MapPolygonView telerik:MapLayer.Location="{Binding MapItemLocation}" Points="{Binding MapItemPoints}" local:MapUtility.ShapeColor="{Binding MapItemColor}"/>
        </DataTemplate>
    </telerik:VisualizationLayer.ItemTemplate>
</telerik:VisualizationLayer>

在此之前,一切都很好,但是当我试图给这个形状一个Telerik.MapPinPoint作为这个形状中心的标题。 PinPoint的位置被邮政编码形状的位置覆盖,因此它们位于形状的边缘而不是中心。

Telerik Map Sample

<telerik:VisualizationLayer ItemsSource="{Binding MapItemCollection}" x:Name="VisualizationLayer">
    <telerik:VisualizationLayer.ItemTemplate>
        <DataTemplate>
            <telerik:MapPolygonView telerik:MapLayer.Location="{Binding MapItemLocation}" Points="{Binding MapItemPoints}" local:MapUtility.ShapeColor="{Binding MapItemColor}"/>
        </DataTemplate>
    </telerik:VisualizationLayer.ItemTemplate>
</telerik:VisualizationLayer>

<telerik:VisualizationLayer ItemsSource="{Binding MapItemCollection}" x:Name="Layer">
    <telerik:VisualizationLayer.ItemTemplate>
        <DataTemplate>
            <telerik:MapPinPoint telerik:MapLayer.Location="{Binding PinPointLocation}"
                Background="#80808080"
                Foreground="White"
                BorderBrush="Black"
                BorderThickness="1"
                Text="{Binding PinPointText}"/>
            </DataTemplate>
    </telerik:VisualizationLayer.ItemTemplate>
</telerik:VisualizationLayer>

我的修复现在是为PinPoint获取另一个MapItem类实例,并将此实例的MapItemLocation设置为Location.Empty。当我这样做它也很好,但我想在一个实例中将所有信息都考虑在一起考虑一个形状和邮政编码。

1 个答案:

答案 0 :(得分:1)

所以我得到了Telerik支持的答案,我也要求解决我的问题。

他们的解决方案是将UseDefaultPropertyAccessor设置为false。

<telerik:VisualizationLayer ItemsSource="{Binding MapItemCollection}" x:Name="Layer" UseDefaultPropertyAccessor="False">
<telerik:VisualizationLayer.ItemTemplate>
    <DataTemplate>
        <telerik:MapPinPoint telerik:MapLayer.Location="{Binding PinPointLocation}"
                Background="#80808080"
                Foreground="White"
                BorderBrush="Black"
                BorderThickness="1"
                Text="{Binding PinPointText}"/>
    </DataTemplate>
</telerik:VisualizationLayer.ItemTemplate>

这解决了问题,它现在按预期工作。 https://github.com/contiv/volplugin