I want to draw a railway line on top of a YahooOverlay on a web application. I cannot get the line to show. The following is my code.
private void InitYahooMap(Map map)
{
map.MapBackground.BackgroundBrush = new GeoSolidBrush(GeoColor.FromHtml("#B3C6D4"));
map.MapUnit = GeographyUnit.DecimalDegree;
map.Width = Unit.Percentage(98);
map.StaticOverlay.JpegQuality = 30;
map.MapTools.MouseCoordinate.Enabled = true;
map.MapTools.OverlaySwitcher.Enabled = false;
map.MapTools.ScaleLine.Enabled = false;
map.MapTools.MiniMap.Enabled = false;
map.MapTools.Logo.Enabled = false;
YahooOverlay yahoo = new YahooOverlay("Yahoo Map");
yahoo.JavaScriptLibraryUri = new Uri("api.maps.yahoo.com/ajaxymap?...openlayers");
yahoo.YahooMapType = YahooMapType.Regular;
DrawLines(map);
map.CustomOverlays.Add(yahoo);
}
private void DrawLines(Map map)
{
LayerOverlay lineLayerOverlay = new LayerOverlay();
InMemoryFeatureLayer lineFeatureLayer = new InMemoryFeatureLayer();
LineShape line;
List<Vertex> vts = new List<Vertex>();
lineFeatureLayer.Name = "LinesShapeLayer";
lineFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.Railway1;
lineFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
vts.Add(new Vertex(-97, 31));
vts.Add(new Vertex(-93, 35));
vts.Add(new Vertex(-90, 39));
line = new LineShape(vts);
Proj4Projection proj4 = new Proj4Projection();
proj4.InternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(4326);
proj4.ExternalProjectionParametersString = Proj4Projection.GetGoogleMapParametersString();
lineFeatureLayer.FeatureSource.Projection = proj4;
proj4.Open();
lineFeatureLayer.InternalFeatures.Add(new Feature(line));
lineLayerOverlay.Layers.Add(lineFeatureLayer);
lineLayerOverlay.IsBaseOverlay = false;
map.DynamicOverlay.Layers.Add(lineFeatureLayer);
lineLayerOverlay.Redraw();
map.CurrentExtent = lineFeatureLayer.GetBoundingBox();
}