2017-03-10 4 views
1

Ich benutze die Telerik RadMap und den VisualizationLayer, um die Formen von Postleitzahlen auf einer Karte anzuzeigen.Telerik MapPinPoint-Position kann nicht korrekt eingestellt werden

<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> 

Bis zu diesem Punkt funktioniert alles aus in Ordnung, aber wenn ich versuche diese Form eines Telerik.MapPinPoint als Titel in der Mitte dieser Form zu geben. Die Position des PinPoints wird durch die Position der Postleitzahlenformen überschrieben, so dass sie an der Kante der Form statt an der Mitte positioniert sind.

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> 

My Fix jetzt ist eine weitere Instanz der MapItem Klasse für die PinPoint zu erhalten und die MapItemLocation dieser Instanz in Location.Empty gesetzt. Wenn ich das tue, funktioniert es auch gut, aber ich hätte gerne alle Informationen über eine Form und die Postleitzahl zusammen in einer Instanz.

Antwort

1

So bekam ich eine Antwort vom Telerik Support, den ich auch um eine Lösung meines Problems bat.

Ihre Lösung besteht darin, den UseDefaultPropertyAccessor auf false festzulegen.

<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> 

Dies behebt das Problem und es funktioniert nun wie erwartet. enter image description here

Verwandte Themen