LineString on GeometryLayer rendering outside of Map

Jan 15, 2009 at 6:53 PM
Hello, first of all, my compliments for this very cool project. It's lightning fast compared to at least one commercial mapping control. Also, the code is pretty readable.

I think I have found a bug, or else I must be doing something wrong. What happens is that a LineString that is part of a GeometryLayer is rendering outside of the Map control.

I was able to reproduce it using the Examples\VirtualEarth\VEDeepEarthExample project with these two steps:

First of all, Page.xaml. I changed the definition of the LayoutRoot like this to put a ListBox to the left of the Map control:

<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ListBox Grid.Column="0"/>
<DeepEarth:Map x:Name="map" Grid.Column="1">

The rest of Page.xaml stays the same.

Second step, inside Page.xaml.cs, in the constructor, I added these lines to the end:

var layer = new GeometryLayer(map);
layer.Add(new LineString()
{
Points = new List<Point>() {
new Point(0, 0),
new Point(-90, +45) // line towards NW
},
LineColor = Colors.Purple,
LineThickness = 2
});
map.Layers.Add(layer);

Now, when I run this and pan to the right, the LineString draws over the ListBox.

Is this a bug? I tried using GeometryLayer.Clip, with dimensions equal to the size of the Map control, converted from Pixel to Geo coordinate, but it only causes the line to not be drawn.

Jan 15, 2009 at 6:58 PM
Please excuse me, this was already reported at the issue tracker.
Coordinator
Jan 15, 2009 at 8:25 PM
Should be fixed in change set 18008.  Give it a try.
Jan 16, 2009 at 8:20 AM
Thanks, will give it a spin later this day!