﻿/// <reference path="VEJS/VeJavaScriptIntellisenseHelper.js" />

// NOTE:    The above reference is used only at design time.
//          It provides a skeleton of the VE API to enable 
//          intellisense.  Notice that the Default.aspx 
//          page DOES NOT reference VeJavaScriptIntellisenseHelper.js.
//          At run time, we use the real VE API.


var map
var oPRShapeL = new VEShapeLayer();  // park-n-ride layer
var oStationShapeL = new VEShapeLayer();
var oCitiesShapeL = new VEShapeLayer();
var findLayer = new VEShapeLayer();
var findArray = new Array();
var bTrafficLoaded;


var index = 0;
var results = null;

if (typeof(DESIGN_TIME) == 'undefined') 
{
    map = null;
}
else
{
    map = new VEMap();
}

function pageLoad()
{
    
    try
    {
    map = new VEMap("myMap"); 
    map.SetDashboardSize(VEDashboardSize.Tiny);
    bTrafficLoaded = false;
    map.onLoadMap = map_Loaded;
    map.LoadMap(new VELatLong(39.50, -98.35), 3, VEMapStyle.Road, false, VEMapMode.Mode2D, true, 1);
    map.SetCenterAndZoom(new VELatLong(39.50,-98.35),3);
    oStationShapeL.SetTitle = "Stations";
    oPRShapeL.SetTitle = "ParkRideLoc";
   }
   catch(e)
   {}
}

function pageUnload()
{
   if (map != null)
    {
        map.Dispose();
    }
}

function map_Loaded()
{
   
 //   map.ClearInfoBoxStyles();

//    var cssRef = document.createElement("link");
//    cssRef.setAttribute("rel", "stylesheet");
 //   cssRef.setAttribute("type", "text/css");
 //   cssRef.setAttribute("href", "http://www.downtownlightrail.com/Styles/MapStyle.css");
 //   document.getElementsByTagName("head")[0].appendChild(cssRef);
    //    map.SetInfoBoxStyles();
    AddCities(map)
    AddRail(map);
    
    AddStations(map, 0);
    LoadParkRideLoc(); 
    
    ToggleTraffic();
    map.SetMapView(oStationShapeL.GetBoundingRectangle());
    
}
function onCitesFeedLoad(feed) {
    if (feed != null) {
        var numShapes = feed.GetShapeCount();
        for (var i = 0; i < numShapes; ++i) {
            try {
                var shape1 = feed.GetShapeByIndex(i);
                shape1.SetCustomIcon("http://www.downtownlightrail.com/light-rail-maps/Images/Star.gif");
                shape1.SetMaxZoomLevel(7);
            }
            catch (e) {
            }
        }
    }
}

function AddCities(map) 
{
    var shapeSource = new VEShapeSourceSpecification(VEDataType.ImportXML, 'http://www.downtownlightrail.com/light-rail-maps/routes-georss.aspx?TypeID=1', oCitiesShapeL);

    map.ImportShapeLayerData(shapeSource, onCitesFeedLoad, 0);
}




//loads the light rail map
function AddRail(map)
{
     var points;
         
    //phoenix light rail
    points = new Array(
        new VELatLong(33.520969, -112.099815, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.509663, -112.099899, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.5093, -112.073807, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.509197, -112.073677, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.465744, -112.073936, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4482799, -112.0738, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.44805, -111.9842, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.44515, -111.9602, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.44475, -111.9590, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4441, -111.9578995, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4436, -111.9575, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.44122, -111.9554, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.44090, -111.9550, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.44060, -111.9545, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.43969, -111.9500, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.43889, -111.9480, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.43769, -111.9460, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.43698, -111.94495, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.43659, -111.94455, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.43609, -111.94425, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4349, -111.9438, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4319, -111.94346, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4289, -111.94346, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.42855, -111.943387, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4283, -111.94325, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4278, -111.94279, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4277, -111.9426, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.4276, -111.9423, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.42752, -111.9419, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.42752, -111.9396, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.42737, -111.93905, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.42652, -111.9370, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.42585, -111.93515, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.42533, -111.93455 , 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.425205, -111.9343 , 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.424750, -111.9330, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.424430, -111.9325, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.423405, -111.93120, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.423305, -111.93090, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.423200, -111.93020, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.423100, -111.92980, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.422800, -111.92920, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.415000, -111.92045, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.414800, -111.9202, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(33.414805, -111.8700, 0, VEAltitudeMode.RelativeToGround)
    );
    
     myPolygon = new VEShape(VEShapeType.Polyline , points);
     myPolygon.SetLineWidth(6);
     myPolygon.HideIcon();
     myPolygon.SetMinZoomLevel(8);
     map.AddShape(myPolygon);

    
 //phoenix light rail 2
      points = new Array(
                            new VELatLong(33.45993, -112.07382, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.457815, -112.07514, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.4482790, -112.07514, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.447775, -112.07518, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44710, -112.07518, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44710, -112.07250, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44640, -112.07000, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44635, -112.06800, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44645, -112.06750, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44687, -112.06660, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44705, -112.0660, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44720, -112.065, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44720, -112.02791, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44730, -112.0274, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44760, -112.02675, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.4480, -112.026000, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.44808, -112.025600, 0, VEAltitudeMode.RelativeToGround),
                            new VELatLong(33.448155, -112.025200, 0, VEAltitudeMode.RelativeToGround)
                            );
                      

    myPolygon = new VEShape(VEShapeType.Polyline , points);
    myPolygon.SetLineWidth(6);
    myPolygon.HideIcon();
    myPolygon.SetMinZoomLevel(8);
    map.AddShape(myPolygon);

    // charlotte, nc light rail
    points = new Array(
            new VELatLong(35.1063, -80.8828, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1086, -80.8831, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1102, -80.8833, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1115, -80.8837, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1125, -80.8838, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1134, -80.8838, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1153, -80.8837, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1161, -80.8836, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1173, -80.8832, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1184, -80.8826, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1197, -80.8819, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1237, -80.8798, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(35.1283, -80.8772, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1305, -80.8761, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1311, -80.8759, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1317, -80.8758, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1325, -80.8758, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1330, -80.8758, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1335, -80.8759, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1356, -80.8764, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1425, -80.8778, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1459, -80.8786, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1464, -80.8786, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1471, -80.8786, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1476, -80.8786, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(35.1482, -80.8785, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1503, -80.8780, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1525, -80.8776, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1549, -80.8771, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1555, -80.8770, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1560, -80.8770, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1571, -80.8770, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1580, -80.8771, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1584, -80.8772, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1595, -80.8775, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1598, -80.8776, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(35.1601, -80.8776, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1606, -80.8776, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1632, -80.8776, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1650, -80.8775, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1655, -80.8776, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1659, -80.8776, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1703, -80.8779, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1709, -80.8780, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1714, -80.8781, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1717, -80.8782, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1749, -80.8789, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(35.1760, -80.8792, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1770, -80.8794, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1778, -80.8795, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1783, -80.8796, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1786, -80.8795, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1791, -80.8795, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1798, -80.8794, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1825, -80.8789, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(35.1839, -80.8786, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1845, -80.8783, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1852, -80.8781, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1859, -80.8777, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1865, -80.8775, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1904, -80.8753, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1951, -80.8726, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1960, -80.8721, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1962, -80.8720, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1967, -80.8716, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.1975, -80.8709, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(35.2032, -80.8663, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2091, -80.8615, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2120, -80.8591, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2137, -80.8577, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2141, -80.8574, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2145, -80.8570, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2147, -80.8567, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2149, -80.8564, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2157, -80.8552, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(35.2188, -80.8508, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2209, -80.8478, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2217, -80.8463, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2225, -80.8451, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2231, -80.8440, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2232, -80.8438, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2245, -80.8420, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2253, -80.8409, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(35.2261, -80.8399, 0, VEAltitudeMode.RelativeToGround)
            );
    myPolygon = new VEShape(VEShapeType.Polyline, points);
    myPolygon.SetLineWidth(6);
    myPolygon.HideIcon();
    myPolygon.SetMinZoomLevel(8);
    map.AddShape(myPolygon);


//portland, OR - Blue Line - Hillsboro to Portland
    points = new Array(
            new VELatLong(45.522492, -122.991031, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521646, -122.991053, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521496, -122.990972, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521409, -122.990774, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521398, -122.990538, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521391, -122.987244, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521342, -122.983553, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521304, -122.979138, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521263, -122.975571, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521255, -122.970652, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521191, -122.969654, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521045, -122.967814, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521049, -122.965432, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521176, -122.964451, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521977, -122.961677, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522420, -122.960647, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523913, -122.957568, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.524893, -122.955610, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525375, -122.954248, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525717, -122.952681, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526096, -122.950670, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527021, -122.945992, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527825, -122.942376, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528253, -122.940145, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528486, -122.938755, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528832, -122.936642, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529471, -122.933423, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530050, -122.930312, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530215, -122.929201, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530230, -122.928278, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530260, -122.923638, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530275, -122.918504, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530290, -122.913617, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530174, -122.911928, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529850, -122.909819, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529595, -122.908773, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529076, -122.907116, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528095, -122.904031, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526622, -122.899450, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525130, -122.894837, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523477, -122.889665, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521917, -122.884773, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520383, -122.879859, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518782, -122.874860, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517260, -122.870230, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.515610, -122.865268, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.514068, -122.860478, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.513437, -122.858568, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.513035, -122.857672, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.512118, -122.855832, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510572, -122.852699, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508663, -122.848831, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506516, -122.844690, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.504508, -122.840731, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.503193, -122.838446, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.501098, -122.834390, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.499312, -122.830973, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.498241, -122.828881, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.496473, -122.824552, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.495278, -122.821527, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.493416, -122.816892, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.491540, -122.812225, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490314, -122.809119, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490186, -122.808630, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490205, -122.808271, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490378, -122.807552, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490743, -122.805938, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490825, -122.805176, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490799, -122.804055, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490750, -122.802644, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490886, -122.802038, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.491600, -122.801206, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492070, -122.800621, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492224, -122.800139, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492236, -122.799414, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492205, -122.796485, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492251, -122.795391, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492416, -122.794474, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492713, -122.793664, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.493210, -122.792875, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.493755, -122.792398, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.494371, -122.792097, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.495815, -122.791840, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.497917, -122.791652, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.498628, -122.791443, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.499756, -122.790778, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.500425, -122.790112, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.501068, -122.789211, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502865, -122.785800, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.504211, -122.783364, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.504753, -122.782586, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505881, -122.781309, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506681, -122.780392, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507118, -122.779963, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507565, -122.779727, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508012, -122.779732, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508370, -122.779925, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508704, -122.780339, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509377, -122.781996, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509565, -122.782398, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509866, -122.782699, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510166, -122.782731, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510385, -122.782592, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510554, -122.782307, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510546, -122.781942, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510486, -122.781551, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510136, -122.780666, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509298, -122.778348, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508727, -122.776862, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508212, -122.775843, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507407, -122.773547, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507230, -122.772839, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506775, -122.770565, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506422, -122.768435, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506159, -122.766246, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505948, -122.763494, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505896, -122.761676, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505888, -122.759069, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505975, -122.757239, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506328, -122.753876, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507700, -122.746553, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509354, -122.740030, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509354, -122.734151, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509264, -122.731576, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509806, -122.729087, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510046, -122.726212, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509445, -122.723508, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508813, -122.721963, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508783, -122.720203, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509475, -122.719131, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510257, -122.718358, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510475, -122.718025, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510603, -122.717618, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510648, -122.717215, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510666, -122.716384, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510681, -122.715960, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510618, -122.713466, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510888, -122.710204, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.511640, -122.707586, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.512813, -122.705483, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.515129, -122.702050, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.516602, -122.700806, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518301, -122.700334, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518865, -122.700119, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519113, -122.699765, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519226, -122.699132, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519196, -122.698338, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519060, -122.697372, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518587, -122.695355, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518245, -122.694352, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517959, -122.693177, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517989, -122.692845, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518143, -122.692630, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519586, -122.691852, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520162, -122.691343, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520819, -122.690871, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521586, -122.690490, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521721, -122.690291, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521755, -122.690007, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521868, -122.689310, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521860, -122.689079, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520770, -122.685018, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519673, -122.680888, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518481, -122.676457, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517786, -122.673860, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517809, -122.673619, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517948, -122.673447, 0, VEAltitudeMode.RelativeToGround)
    );
    myPolygon = new VEShape(VEShapeType.Polyline, points);
    myPolygon.SetLineWidth(6);
    myPolygon.HideIcon();
    myPolygon.SetMinZoomLevel(8);
    map.AddShape(myPolygon);

    //- portland, or
    points = new Array(
            new VELatLong(45.521015, -122.690769, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521387, -122.690511, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521451, -122.690329, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521413, -122.690114, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520958, -122.688425, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519632, -122.683511, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518414, -122.678924, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517327, -122.675040, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517151, -122.674397, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517128, -122.674016, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517211, -122.673839, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517940, -122.673447, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519312, -122.672712, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520041, -122.672374, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522120, -122.671226, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522605, -122.671253, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523533, -122.671355, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525081, -122.671419, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525968, -122.671430, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526340, -122.671285, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526788, -122.670835, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526957, -122.670507, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528257, -122.667670, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.528791, -122.667085, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529279, -122.666860, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529621, -122.666704, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529892, -122.666388, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530076, -122.666023, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530091, -122.665674, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.530087, -122.663426, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530083, -122.658480, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530091, -122.653626, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530061, -122.651276, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529986, -122.649297, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530050, -122.647735, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530204, -122.644136, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.530437, -122.639437, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530606, -122.636497, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530760, -122.635585, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531132, -122.634560, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531598, -122.633879, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532252, -122.633294, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.533698, -122.632023, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.534044, -122.631562, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534412, -122.630768, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534563, -122.630017, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534612, -122.629239, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534529, -122.628348, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.533800, -122.625124, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532703, -122.620355, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.532233, -122.618349, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532004, -122.617421, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531793, -122.616831, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531440, -122.616139, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529625, -122.613403, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528415, -122.611595, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528118, -122.610925, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.527855, -122.610163, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527686, -122.609380, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527618, -122.608725, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527566, -122.607851, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527599, -122.606826, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527705, -122.605995, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528028, -122.604563, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.528298, -122.603790, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528933, -122.602449, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529832, -122.600813, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531376, -122.597761, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.533082, -122.594461, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535040, -122.590626, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535453, -122.589499, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.535720, -122.588239, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535829, -122.587059, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535833, -122.586275, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535705, -122.585074, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535416, -122.583856, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534574, -122.581394, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.533338, -122.578105, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.532222, -122.574758, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532045, -122.573996, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531861, -122.572886, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531778, -122.571952, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531771, -122.571019, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531902, -122.569458, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532090, -122.568219, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.532203, -122.567376, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532218, -122.566277, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532090, -122.565338, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531891, -122.564458, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531767, -122.564126, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531436, -122.563857, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530215, -122.563412, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.529892, -122.563342, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529542, -122.563401, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528054, -122.563868, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527539, -122.563970, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.524352, -122.564228, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523311, -122.564308, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523044, -122.564281, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.522845, -122.564093, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522684, -122.563750, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522642, -122.563273, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522668, -122.562141, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522650, -122.559893, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522623, -122.556846, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522597, -122.552775, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.522582, -122.548268, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522541, -122.543859, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522507, -122.538661, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522469, -122.534793, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522439, -122.529488, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522394, -122.525287, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522375, -122.520658, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.522338, -122.515830, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522289, -122.510766, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522244, -122.505670, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522206, -122.500622, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522176, -122.495654, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522131, -122.490971, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522086, -122.485853, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.522041, -122.480505, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522018, -122.476836, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521973, -122.475924, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521819, -122.474819, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521473, -122.473338, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520319, -122.470259, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519297, -122.467738, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.518951, -122.467035, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517436, -122.463430, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.516031, -122.460115, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.514610, -122.456725, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.513016, -122.453034, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.511493, -122.449483, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509302, -122.444333, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.507824, -122.440841, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506114, -122.436705, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.504490, -122.432933, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.503644, -122.430922, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.503057, -122.429248, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502813, -122.428111, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502223, -122.425037, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.502132, -122.424168, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502110, -122.421057, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502046, -122.420231, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.501926, -122.419308, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.501636, -122.417736, 0, VEAltitudeMode.RelativeToGround)
        );
    myPolygon = new VEShape(VEShapeType.Polyline, points);
    myPolygon.SetLineWidth(6);
    myPolygon.HideIcon();
    myPolygon.SetMinZoomLevel(8);
    map.AddShape(myPolygon);

    //red line - portland, or
    points = new Array(
            new VELatLong(45.587570, -122.593099, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.587134, -122.592605, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.586736, -122.592251, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.586338, -122.591983, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.585955, -122.591618, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.585715, -122.591200, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584409, -122.587810, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584228, -122.587241, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584198, -122.586372, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584311, -122.585524, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584604, -122.584655, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584791, -122.584087, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584867, -122.583336, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584746, -122.582756, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584191, -122.581329, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.581232, -122.573808, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.579678, -122.569742, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.579317, -122.568873, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.578724, -122.568015, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.578131, -122.567521, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.577125, -122.567124, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.575270, -122.566609, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.574564, -122.566127, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.574008, -122.565451, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.573693, -122.564925, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572874, -122.562844, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572626, -122.562071, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572566, -122.561556, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572619, -122.560515, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572724, -122.559732, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572634, -122.559078, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572131, -122.557726, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.571875, -122.557082, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.571492, -122.556664, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.571019, -122.556546, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.566437, -122.556599, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.565746, -122.556846, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.564387, -122.558552, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.562464, -122.561084, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.560579, -122.563627, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.558761, -122.565912, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.557664, -122.566760, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.556988, -122.567006, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.555771, -122.567114, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.554704, -122.566845, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.553524, -122.566191, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.552743, -122.565515, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.550504, -122.562371, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.549670, -122.561406, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.548536, -122.560666, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.547048, -122.560322, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.545906, -122.560483, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.543855, -122.561384, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.542923, -122.561781, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.541713, -122.561706, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.540571, -122.561631, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.539759, -122.561867, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.536062, -122.563283, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.534890, -122.563745, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532507, -122.564378, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530741, -122.564667, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.528990, -122.564646, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528637, -122.564582, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528524, -122.564367, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528509, -122.564088, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528689, -122.563852, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529035, -122.563702, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529569, -122.563477, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529824, -122.563412, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530155, -122.563466, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531455, -122.563981, 0, VEAltitudeMode.RelativeToGround)
            );
    myPolygon = new VEShape(VEShapeType.Polyline, points);
    myPolygon.SetLineWidth(6);
    myPolygon.SetMinZoomLevel(8);
    myPolygon.HideIcon();
    map.AddShape(myPolygon);

    //yellow line - portland, or
    points = new Array(
        new VELatLong(45.605733, -122.685421, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.605129, -122.685817, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.604881, -122.685914, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.604449, -122.686123, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.604134, -122.686155, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.603744, -122.685995, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.603474, -122.685662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.602963, -122.684707, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.602584, -122.684299, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.602186, -122.684117, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.601811, -122.684106, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.600223, -122.684417, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.597491, -122.685238, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.595445, -122.685817, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.594702, -122.686011, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.593377, -122.685930, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.592589, -122.685903, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.591571, -122.686177, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.590456, -122.686585, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.589649, -122.686665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.586965, -122.686660, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.585565, -122.686654, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.585114, -122.686729, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.584713, -122.686821, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.584487, -122.686799, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.584251, -122.686665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.584078, -122.686402, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.583669, -122.685480, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.583369, -122.684750, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.582693, -122.682760, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.582535, -122.682481, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.582302, -122.682250, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.582073, -122.682116, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.581732, -122.682062, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.579468, -122.682073, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.577357, -122.682084, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.575488, -122.682095, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.573017, -122.682121, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.570647, -122.682137, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.568206, -122.682159, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.565698, -122.682180, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.563279, -122.682218, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.560826, -122.682245, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.558460, -122.682261, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.556297, -122.682293, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.554753, -122.682250, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.554505, -122.682116, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.553832, -122.681209, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.553551, -122.681022, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.553040, -122.680963, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.550639, -122.680973, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.548153, -122.681006, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.547296, -122.680990, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.547003, -122.680882, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.546706, -122.680641, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.546443, -122.680201, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.545429, -122.678307, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.545177, -122.677969, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.544700, -122.677529, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.544155, -122.677283, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.542904, -122.677213, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.540789, -122.677202, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.540503, -122.677132, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.540289, -122.676891, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.540049, -122.676451, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.539245, -122.674922, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.539053, -122.674692, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.538805, -122.674568, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.538362, -122.674568, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.537013, -122.674584, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.536216, -122.674434, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.534860, -122.673458, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.533135, -122.672063, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.531290, -122.669976, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.530910, -122.669376, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.530369, -122.668244, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.529911, -122.667219, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.529715, -122.666956, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.529520, -122.666833, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.529317, -122.666849, 0, VEAltitudeMode.RelativeToGround)
    );
    myPolygon = new VEShape(VEShapeType.Polyline, points);
    myPolygon.SetLineWidth(6);
    myPolygon.SetMinZoomLevel(8);
    myPolygon.HideIcon();
    map.AddShape(myPolygon);

    //Green Line - portland, or
    points = new Array(
        new VELatLong(45.5231, -122.5643, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5193, -122.5644, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5180, -122.5645, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5142, -122.5644, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5137, -122.5645, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5131, -122.5646, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.5122, -122.5649, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5113, -122.5650, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5105, -122.5651, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5099, -122.5649, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5092, -122.5647, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.5087, -122.5647, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5080, -122.5649, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5068, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5061, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5058, -122.5667, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.5054, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5047, -122.5669, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5043, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5035, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5029, -122.5668, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4998, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4980, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4978, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4976, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4970, -122.5663, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4965, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4952, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4947, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4943, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4934, -122.5662, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4929, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4923, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4910, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4902, -122.5663, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4897, -122.5663, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4892, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4886, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4872, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4853, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4846, -122.5665, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4835, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4829, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4819, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4813, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4810, -122.5666, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4805, -122.5667, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4800, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4795, -122.5670, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4793, -122.5670, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4790, -122.5670, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4785, -122.5670, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4777, -122.5667, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4772, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4768, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4762, -122.5665, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4758, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4746, -122.5663, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4740, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4733, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4732, -122.5661, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4715, -122.5660, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4705, -122.5659, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4697, -122.5660, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4688, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4685, -122.5664, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4676, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4670, -122.5670, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4661, -122.5677, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4655, -122.5682, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4651, -122.5685, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4642, -122.5697, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4631, -122.5706, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4610, -122.5721, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4599, -122.5727, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4591, -122.5731, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4577, -122.5739, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4572, -122.5741, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4564, -122.5741, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4560, -122.5740, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4547, -122.5737, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4539, -122.5737, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4533, -122.5736, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4520, -122.5733, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4510, -122.5731, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4479, -122.5718, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4462, -122.5714, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4436, -122.5705, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4421, -122.5699, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4415, -122.5697, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4400, -122.5692, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4391, -122.5689, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4381, -122.5686, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4367, -122.5683, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4357, -122.5680, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4354, -122.5678, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4349, -122.5677, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4345, -122.5677, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4340, -122.5677, 0, VEAltitudeMode.RelativeToGround)
    );
    myPolygon = new VEShape(VEShapeType.Polyline, points);
    myPolygon.SetLineWidth(6);
    myPolygon.SetMinZoomLevel(8);
    myPolygon.HideIcon();
    map.AddShape(myPolygon);  
    
}

//formats the station pushpins
 function onStationsFeedLoad(feed)
 {      
    if(feed != null)
    {
        var numShapes = feed.GetShapeCount();
        for(var i=0; i < numShapes; ++i)
        {
            try
            {
                var shape1 = feed.GetShapeByIndex(i);
                shape1.SetCustomIcon("http://www.downtownlightrail.com/light-rail-maps/Images/Station.gif");
                                
                var shapeHTML = "";
                var sImage = "";
                
                shapeHTML = "";
                var stationDescription = "<div style='border:solid 0px white;z-index:999;width:200px'>";
                stationDescription = stationDescription + sImage + shapeHTML;

                stationDescription = stationDescription + "<div style='padding: 5px'><a href='http://www.downtownlightrail.com/light-rail/interactive-light-rail-map.aspx'>See larger map</a></div> ";
                                 
                //bottom of div
                stationDescription = stationDescription + "</div>";
                shape1.SetPhotoURL("");
                shape1.SetMoreInfoURL("");
                shape1.SetDescription(stationDescription);
                shape1.SetMinZoomLevel(8);
            }
            catch(e)
            {

            }
        }
    }
 }

//imports Stations from the data feed.
function AddStations(map, bestlocation)
{

    var shapeSource = new VEShapeSourceSpecification(VEDataType.ImportXML, 'http://www.downtownlightrail.com/light-rail-maps/Light-Rail-GEORss.aspx?TypeID=1', oStationShapeL);

    map.ImportShapeLayerData(shapeSource, onStationsFeedLoad, bestlocation);
}

//formats the pushpins for the park-n-rides
function onParkRideLocFeedLoad(feed)
 {      
    if(feed != null)
    {
        for(var i=0; i < feed.GetShapeCount(); ++i)
        {
            try
            {
                var shape = feed.GetShapeByIndex(i);
                shape.SetMinZoomLevel(8);
                shape.SetCustomIcon("http://www.downtownlightrail.com/light-rail-maps/Images/car.gif");
                var stationDescription = "<div style='border:solid 0px white;z-index:999;width:200px'>";
                stationDescription = stationDescription + "<div style='padding: 5px'><a href='http://www.downtownlightrail.com/light-rail/interactive-light-rail-map.aspx'>See larger map</a></div></div>";
                shape.SetPhotoURL("");
                shape.SetMoreInfoURL("");
                shape.SetDescription("<div style='border:solid 0px white;z-index:999;width:200px'> </div>");
            }
            catch(e)
            {

            }
        }
    }
 }
 
//gets the park and ride locations and loads them in the shapelayer. 
function LoadParkRideLoc()
{
    var shapeSource = new VEShapeSourceSpecification(VEDataType.ImportXML, 'http://www.downtownlightrail.com/light-rail-maps/Light-Rail-GEORss.aspx?TypeID=2', oPRShapeL);
    
    map.ImportShapeLayerData(shapeSource, onParkRideLocFeedLoad, 0);
}

//This function is used to hide and show the station shape layer after it is loaded.
function ToggleStationLayer()
{        
    if (oStationShapeL.GetVisibility())
    {
        oStationShapeL.Hide();
    }
    else
    {
        oStationShapeL.Show();
    }
}

//This function is used to hide and show the park-n-ride shape layer after it is loaded.
function ToggleParknRideLayer()
{        
    if (oPRShapeL.GetVisibility())
    {
        oPRShapeL.Hide();
    }
    else
    {
        oPRShapeL.Show();
    }
}

//Toggles traffic off and on.
function ToggleTraffic()
{
    if( bTrafficLoaded )
    {
        bTrafficLoaded = false;
        map.HideTrafficLegend();
        map.ClearTraffic();
    }
    else
    {
        bTrafficLoaded = true;
        map.ShowTrafficLegend(20,470);
        map.SetTrafficLegendText("Traffic");
        map.LoadTraffic(bTrafficLoaded);
    }
}



 




