<script language="JScript" runat="server">
        
    public class GeoLocation
    {

        public var label : String;
        public var x : double;
        public var y : double;

        public function GeoLocation(  map : Map, label : String, lat : double, lon : double)
        {
            var proj : Projection = map.getProjection();
            var pt : GeoPoint = proj.project( lat, lon);
            this.label = label;
            this.x = pt.x;
            this.y = pt.y;
        }
    }

</script>

<%

    var map : Map = OpenMap();
    
    // get the layer
    var layer : Layer = map.getLayers().getLayerByName("Airports");
    // create the SearchDef object
    var searchDef : SearchDef = new SearchDef();

    //**************************************************************************
    // convert current units (miles or kilometers) to map units
    var radius : double = map.convertDistance( 20, map.getMeasureUnits(), MeasureUnit.rmMapUnits);

    var center : GeoLocation = new GeoLocation (map, "Redlands, CA", 34.0528, -117.1531);
    
    searchDef.setSearchMethod( SearchDef.rmSortDistance);
    searchDef.addCircle( center.x, center.y, radius, 0);
    //**************************************************************************
	
    var rs : Recordset = layer.search(searchDef); // returns Recordset object

    // prints all records from the recordset
    if( rs != null && rs.getRecordsCount() != 0)
    {
        var recCount : int = rs.getRecordsCount();
        var fieldCount : int = rs.getFields().getFieldCount();

        Response.Write( "<table border=1 cellspacing=0 cellpadding=2>\n");
        Response.Write( "<tr bgcolor='#DDDDDD'>\n");

        for (var i : int = 0; i < fieldCount; i++)
            Response.Write("<th>" + rs.getFields().getFieldName(i) + "</th>");

        Response.Write("</tr>\n");

        for (i = 0; i < recCount; i++)
        {
            rs.move(i);
            Response.Write("<tr>");

            for (var j : int = 0; j < fieldCount; j++)
            {
                var value : String = rs.getAsString(j);

                if (value == "")
                    value = " ";

                Response.Write("<td>" + value + "</td>");
            }
        
            Response.Write("</tr>\n");
        }
	
        Response.Write("</table>\n");
    }

%>