From: Subject: Watauga County GIS Viewer Date: Wed, 1 Jul 2009 12:28:08 -0400 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01C9FA47.63C9EE90" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://wataugacounty.org/gis/index.asp Watauga = County GIS Viewer =20
3D"Zoom 3D"Zoom 3D"Zoom 3D"Zoom 3DPan=20 3D"Select 3D"Identify 3DPrint=20
=20

Layers Legend Search Boone=20
Visible   Active
       Parcel = Map
       Highways
       Blue Ridge Parkway
       Secondary = Roads
       Schools
       Communities
       Commissioner Districts
       Voting=20 District
       Township
       Zone
       Watershed
       Fire = District
       County Map=20 Grid
       Floodway
       Floodzone
       20' Contour
       5' Contour
       Farmland=20 Preservation
       Aerial=20 Orthophoto*
       County = Border


= *Aerial=20 Orthophotos were last taken 2005
3D"Map=20

*Aerial = Orthophotos were last taken 2005

Search



=20      
Visible   Active
       Boone Town=20 Limits
       Boone ETJ
       Boone=20 Conditional
       Boone=20 Conditional Use
       Boone=20 Corridor District
       Boone=20 Watersheds
       Boone = Zoning
       Boone Viewshed Protection = Area

=

These=20 layers are suppplied to Watauga County
by the Town of Boone, = NC.=20 Please contact
the Town of Boone Development Services at =
(828)=20 268-6960 with any questions.

http://www.townofboone.net/=20
   You = must allow=20 popups to use this site. Click here=20 for instructions to allow popups from Windows XP SP2.
  Disclaimer ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/gis/images/pleasewait.gif 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 ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/gis/images/zoomin_1.gif R0lGODlhKAAoAMQAAIiIiERERLu7u5ycABEREe7u7t3d3czMzDMzM6qqqpmZmZycnHd3d2ZmZiIi IlVVVc7OzgAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA AAAALAAAAAAoACgAAAX/oCSOZGmeaKqubFtGcOTObwTdEEzP0TLiC9mOJbzZjIOhyibBHY3KFDMX O0aSUdPTiMths6RtrnsFa7s4Sdn8WqAlQR+7lg7q5qVB1RbDmwaAelRCfn98d4V5h4knems7DAGS kgqMIwcCmQkECZYmAQAiBgAABSMKAAKiCqOdqAYuDA0iAgQMDASwkgAIDBICDg8ABAENuKYrCgjI CJ0SAA0JCCIFubUi0CIBqioHDrAihAKgodqZAdjl2yrVB2EjCcLlEgiY6M/q3CgIlSTCIg8UeDPl 7dc9UuZSCNgTAcABAggQ3GtAzEGncekSDhHgboQBAcg8iSxxb+QIQibVImArQCpkIiERQEnyBFNV AZSFYJ6kGW6nJZ09fwZVmbIomBAAOw== ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/gis/images/zoomout_1.gif R0lGODlhKAAoAMQAAIiIiBEREd3d3ZmZmZycAO7u7qqqqszMzDMzMyIiIlVVVXd3d5ycnGZmZkRE RLu7u87OzgAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA AAAALAAAAAAoACgAAAX/oCSOZGmeaKqubFtGcOTObwTdEEzPETPiDNmOJcThIoShyiYxGoXKEzMG OyajJpvzecWStNsb0psNS8bkF8MpCfrSNVw7BjcRqDZ6vUTo33M6eyd/eoJ8eVCGJHdoOwsOkJAD iiMHD5cGAQaUJg4AIgIAAAUjDwCTEgIDoZsDAAIuCw0iDwELCwGwAAkACggSDwkKAAEODbikKwMI yQibEgANBRHJDgO1ItEiDg8rBwmwIlAP3A4jouTZnxLcKgUBB18jBgrpIgsA9qLb3SkIqCOGiVAw CZ6EAuD0rWuH4gGeCAAOBECAwJyEAREc8AJmcR+7fjsexBtR4EE4TiglZRhAAEPBSEqZNhUg9rIE wygJQEJTcDHcqgEJGpzcISBBiXcf+QEVGsWePIbtbg558IuEgABJk0odkovEAJ5Qu23dAYCZCInx rEk4EEHsMywLMjrQJMKAXATdALQlU1JnKr8ph4QAADs= ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/gis/images/fullextent_1.gif R0lGODlhKAAoAMQAAO7u7jMzM3d3dxEREczMzJycnFVVVSIiIt3d3WZmZqqqqpmZmf//A0RERLu7 u4iIiM7OzgAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA AAAALAAAAAAoACgAAAX/oCSOZGmeaKqubHtGcOTOJQzdEEzPUTHihZhsl5LhjhEGY0g0RSCSI3LZ fEGluCSzOnpiszpu14uVBKliSXJZViu3VWHhqA4G4c3cm1y4a9NuSnsxOTGAQoiEhml6go5vhYeP kzZ4RImJImEuCw2engKAKQgOpQ4BoaIrDwYiAA8PCCMIsAAiD68PEg4PDi4KAbYAAwkPAwq7AwIC A7IRBg8Bnsa+KwQHBCLLIg4HEgHIEg8Jatndt7oqAOAjDdVq8NwN8Q7z4ukpDfgS7q4D8RIUtBpS D50KAeRIsLpFDpoIAwvo2YOlIlGDdQcaHJBFYEAAaZrkGSRC4B23bKq0U33yhLLEPAKpqugz5cCW k132ZJrcVa0UvIJc+ilMR1EGUJlC5lG89zNnE6EjlhbFKQbqyKlHn+4cJwHAAV1GnRKxKgGBxwAO w6YcAaDm2rdwV4QAADs= ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/gis/images/zoomlast_1.gif R0lGODdhKAAoAIQRAN3d3cbGxpmZme7u7nd3d2ZmZhEREczMzCIiIlVVVZycAKqqqoiIiLu7u0RE RDMzMwAAAP///////////////////////////////////////////////////////////ywAAAAA KAAoAAAF/mAkjmRpnmiqrmxbQjDkzmYMBTBN23eA6y2eMAY8DY/F13GYJC2ZzdGTF3VOc1WpzYdT ZI0xH/Fb247JVoXidkaX1jis+82WzU1riFcncPj9BHcjAA2FDQ+BgiUMCSIDDAwAg5ADIgIAAgwD AAwCLgsPlQMGBQwGCxENBgQEBpKACQ8PDLMsBwgHIqwiDQgRD6gRDAURDgwiEJINDisDwCMODVIR dqnM0ci8zCrGJNgRo9QjC43fdssqBMQkjCLDEQnH8J7m2ipCDs4IDgiSBwayttWzVuSANBINcila 2OePPEXDCoF6eAfSCHSXIkXgpLGBJ0uSXFh0Vw4RgFusRwwYNODIQCWR+xw8UFns47d3CFAJWCey gKGX5v48YKbu10GRFEWYM5RwoytfNEZ6OxhPRIF1spKykArt4C1+oSwlE9R0YZMQADs= ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/gis/images/pan_1.gif R0lGODlhKAAoALMAAERERLu7u4iIiJmZmTMzM93d3RERESIiIu7u7lVVVczMzHd3d6qqqmZmZgAA AP///yH5BAAAAAAALAAAAAAoACgAAAS08MlJq7046827/2AoYo4zfuVjqumZrS3sklJcq7Ml4yyf 37zdKpcaUnYzmFH3Gy6PP6Dm6aJCo76LtfrCXitbItNLLpvP6MsCwAYw0g+AIBAYGAJpAF4iEEgG AgMIDwUDBYEuehMJfmwCCQAPAQdyB34jAARsBwSDlzgBBoMMkZhzdBMBkAYmAaWuJ4oUBQYDCqCv pSKyqQR/rbmxexQExQ0HC7CSulgBBYS3cNLT1NXW19MRADs= ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/gis/images/select_1.gif R0lGODlhKAAoAPcAAERERLu7u4iIiJmZmTMzM93d3RERESIiIu7u7lVVVczMzHd3d6qqqmZmZgAA AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAKAAoAAAIswAfCBxI sKDBgwgTKlzIsKHDhw8dOIBIkeDEBxcrQryYUaNDjh43CuwYciFHiSUZgsSIMuXBlSddFoQ5EqNL iRNp2twZMubLmiUzkjQ4tOLKhEWN8kSYlGJTizKXMo36VGrKp1WdKsyq9WfUgUm5OsVJtuXXs2gj mrUotuHRmV+ris061KzQjjhZrn0pFKhOnW5H5t1JFijYiIb9woVqUjFjkpBVrs07eLBesG3Tat7M 2WVAADs= ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/gis/images/identifyall_1.gif R0lGODlhKAAoAMQAALu7u/r6+oiIiERERAAAABEREd3d3SIiIu7u7mZmZszMzHd3d5mZmaqqqlVV VTMzMwQEBP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA AAAALAAAAAAoACgAAAXZYCSOZGmeaKqubOu+cCzPdG3fNaRDuLr/vF7pFwj8hCNgEYiMAJ/BnnLJ lE6fwif1aCUaq13dVtf0jptOKBmdxrKTu7d8Tq/be4P8IGGgEwCAAgV9JwMANwQkAgkiBgICChEM B3wRAI+EL4kjBgWWBQuCAJN8AgcCCwUIMJsjiYAijxGGkoS0miQInggCAwcFArOHBgkDBQWHuCMM DhEJDgC8wbSnh7curQDIsw0RCA/T3QSrCtuaBOgH3RENBb4LBwoCf/ADDw4PPQbJ0SQKkQiS3RlI sGCLEAA7 ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/gis/images/print_1.gif R0lGODlhKAAoAMQAALu7u/r6+kRERIiIiAAAAMzMzJmZmSIiIt3d3fr6BISEhHd3dxEREe7u7mZm ZlVVVTMzM6qqqsTExAQEBP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA AAAALAAAAAAoACgAAAXXICWOZGmeaKqubOu+cCzP9DndOF6nU+D/vskO1csVhzYgUIgsFXOBXFPU UwYlE2zTaMRimbusZEwmZ89IrnoMronLijhbmy6PE3j2bavutsN2ZWhTFH06hIiJiouMJQKPAg8F JQULhAQAmQMMDSQNkycCADEEJKIIBgUGqBSZAAOjBgcOCDClIg0HBQAHAgYAAhQDEA8LDACytLaQ DA6tByLAwsEUCwMUoqSuoNKtwQPXwtfZtibd0uAi6eQvtyTn3+HrEaTm1Ojy1wOYjf3+/wADChz4 LwQAOw== ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/ArcIMSOutput/WataugaAndBoone_arcims5568579630193.gif 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 ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://wataugacounty.org/ArcIMSOutput/WataugaAndBoone_arcims5568579630192.gif R0lGODdhEAIQAvcAAP//////gAAAAP8AAEBAQFBQUOzs7P39/fPz811dXfv7+/n5+RkZGUpKSvf3 9zAwMG9vOKqqqrOzWsbGxjIyMre3t7u7gzk5OTU1NW5ubu7u7h8fH7W1tZ+fUDs7O319PzY2GyQk JK+vr6ioqP//83R0dNfX1+jo6I2NjdPT04uLi2NjY7u7u1JSUj8/P62trWVlZXZ2dmpqakNDQzc3 N2hoaFdXV8DAwNvb2x0dHf//7RMTE///k///8v//3b29vf//zpCQkOnp6Xt7e7Ozs/j48v//5/// o0ZGRmtrT///rC4uLv//xOLi4oqKePHx8f//luPj44WFhD09Nf//6w4ODlpaWlhFRP//3nBwcFhY WAYGBmFhYP//2MvLy1xcTOjo4v//+A8PD///i///ov//2///1f//7oCAgGxsa8fHx1dXLP//ys/P z6KiosPDwnNzZs7Oj///wP//l9/f3P//vCsrKf//kf//rpWVlf//q///r/7+9N7ehv//lSYmJP7+ 55ycnLW1r///3///z///gf//p///gt7e0v//hd/f3wIBAfHxjNXV1f//sf//nk5OJ///yP//j/Dw 6P//jqWlpV5eXv//xv//taenov//7KamZv//8OoAAJiYmFRUUP//5v//7/n56/f3t///wokAALCw rv//mf//4b+/vwMDA///s6Cgn///uBUVFf//pv//qv//005OTu/v7zw8OW9vboKCWP//iP//yy8v L8DAagsLC0FBPEdHRxoaFKurpbOzdHx8fP//4G5ubLi4tiEhIbe3XFdXUwoKCkpKRTQ0NFxcXP// jf//4kxMTNnZ2cHBuHl5eUZGQP397a6uqZycTnZ2dJmZjefn52pqaGZmZa6urh4AAFtbWW5uaxER EXt7eTY2KGhoZzQ0Jz0qKqurq0RERG5uarCwWLOzrW5uUbu7tvv793x8Pqmpqevr62VlZLS0tH19 VTg4OP39+DY2Nh8fHDY2Gjc3NmpqZ4yMjPj4+L6+tgAAAAAAAAAAACwAAAAAEAIQAkAI/gABCBxI sKDBgwgTKlzIsKHDhxAjSpxIsaJFiAQIXNzIcaHGjgQ/WsyYkaFIkCgXCljJsqWAkyljypxJs6bN mwhL4tzJs2dCHARTKAg6lCAOLwabCCmI4KBSolAHtmmDqosZM12EgUohioomHWe4egXL1UcsOXge 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 ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://wataugacounty.org/gis/tab.css BODY { BACKGROUND-COLOR: white } A.tab { BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: black = 1px solid; MARGIN-TOP: 4px; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 2px; = BORDER-LEFT: black 1px solid; COLOR: blue; PADDING-TOP: 2px; = BORDER-BOTTOM: black 0px; FONT-FAMILY: arial; BORDER-COLLAPSE: collapse; = BACKGROUND-COLOR: silver; TEXT-DECORATION: none } A.tab:hover { BORDER-LEFT-COLOR: black; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: = black; BACKGROUND-COLOR: aqua; BORDER-RIGHT-COLOR: black } .panel { BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: black = 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; OVERFLOW: auto; = BORDER-LEFT: black 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: black = 1px solid; BACKGROUND-COLOR: white } ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://wataugacounty.org/gis/mouseEvents.js /************************************************************************= **************** * File: mouseEvents.js * Author: Drew Eggers, Watauga County 2005 * Revised: Oct. 12 2005 * Functions: map_mouse_down() - determines what fn to call depending on = the tool * startpan() - entry point for panning functions, set up variables,=20 * and call functions depending on the mouse events * doPan() - set up variables/offsets, call crop image function, and=20 * call move layer function * stopPanWithMouseUp() - stop panning because mouseup has 'fired' * stopPanWithMouseOut() - stop panning because user has dragged to=20 * the point that the cursor has left the map area * clipLayer(name, clipleft, cliptop, clipright, clipbottom) - takes = the * map image and crops it to the area that the map initially * occupies * getLayer(name) - returns the html element that is the map image * moveLayer(name, x, y) - move the map image's upper lh corner to x = and y * zoomin_md() - start drawing 'rubberband'. Handle mouseup and = mousemove * events * zoomin_mm() - Called when mouse is moving is dragging. Draws = 'rubberband' * from initial location to new location * zoomin_mu() - Called onmouseup. Makes 'rubberband' disappear and = stores * the position of the initial click and the position of the * mouse when the button is released * Purpose: Handles different mouse events by setting up variables and = manipulating * the browser's display, but NOT handling actual ActiveX Connector=20 * events (DoZoomToExtent(), DoZoom(), DoZoomToFullExtent(), etc.) * Notes: Rubberband idea taken loosely from: * = http://forums.esri.com/Thread.asp?c=3D64&f=3D783&t=3D89326&mc=3D14#245915= = *************************************************************************= ****************/ /* Global Variables */ var startx; // Initial x location of click on window (not map) var starty; // Initial y location of click on window (not map) var origx; // Initial x location of upper left-hand corner of map var origy; // Initial y location of upper left-hand corner of map var endx; // x location of mouseup or last location before leaving map = (window - not map) var endy; // y location of mouseup or last location before leaving map = (window - not map) var iWidth; // width of the map var iHeight; // height of the map /************************************************************************= =20 * Function: map_mouse_down * Author: Drew Eggers, Watauga County * Date: 2005 * Params: none. * Returns: none.=09 * Description: determines what function to call depending on the tool = =20 = ************************************************************************/= function map_mouse_down() { switch (get_cookie("tool")) // find the tool to be used { case 'zoomin': // if tool is 'zoomin' Map_onMouseDown(); // go to entry point of zoomin functions =09 break; case 'pan': // if tool is 'pan' startpan(); // go to entry point of pan funtions } } /************************************************************************= =20 * Function: startpan * Author: Drew Eggers, Watauga County * Date: 2005 * Params: none. * Returns: none.=09 * Description: entry point for panning functions, set up variables,=20 * and call functions depending on the mouse events =20 = ************************************************************************/= function startpan() { var layer =3D getLayer("mainmap"); // get the html object (layer) named = mainmap =09 ns4 =3D (document.layers) ? true:false // ns4 is true if browser is ns4 = type =09 origx =3D get_cookie("maplocx"); // Get the (x, y) of the map image origy =3D get_cookie("maplocy"); iWidth =3D get_cookie("mapwidth"); // Get the diminsions of the map iHeight =3D get_cookie("mapheight"); scrollY =3D document.body.scrollTop; // Get the distance (pixels) = that has been // scolled down the page layer.left =3D origx; // set the coords of the map layer to the=20 layer.right =3D origy; // coords of the map image layer.position =3D "absolute"; // allow image to be moved by pixels = (can put anywhere) =20 if (ns4) // if ns4 type { startx =3D e.pageX; // x coord of mouse click in pixels on the page = (not map) starty =3D e.pageY; // y coord of mouse click in pixels on the page = (not map) } else { startx =3D event.x; // x coord of mouse click in pixels on the page = (not map) starty =3D event.y + scrollY; // (y coord) top is considered top of = viewed area - not actual top } =09 MapTable.onmousemove =3D doPan; // while dragging, call doPan() MapTable.onmouseup =3D stopPanWithMouseUp; // call = stopPanWithMouseUp() when dragging stops MapTable.onmouseout =3D stopPanWithMouseOut; // call = stopPanWithMouseOut() when mouse drags out of map area } /************************************************************************= =20 * Function: doPan * Author: Drew Eggers, Watauga County * Date: 2005 * Params: none. * Returns: none.=09 * Description: set up variables/offsets, call crop image function, and=20 * call move layer function =20 = ************************************************************************/= function doPan() { ns4 =3D (document.layers) ? true:false // ns4 is true if browser is = netscape 4 type =09 scrollY =3D document.body.scrollTop; // Get the distance (pixels) = that has been // scolled down the page if (ns4) { curx =3D e.pageX; // x coord of current mouse position in pixels on = the page (not map) cury =3D e.pageY; // y coord of current mouse position in pixels on = the page (not map) } else { curx =3D event.x; // x coord of current mouse position in pixels on = the page (not map) cury =3D event.y + scrollY; // (y coord)top is considered top of = viewed area - not actual top=09 } =09 = /************************************************************************= **************************** * Note that all numbers are relative to the INITIAL click - NOT the = previous position of the mouse * = *************************************************************************= ***************************/ var xoffset =3D startx - curx; // number of pixels mouse has dragged = horizontally var yoffset =3D starty - cury; // number of pixels mouse has dragged = vertically var cLeft =3D xoffset; // number of pixels to crop from left side of = map image var cTop =3D yoffset; // number of pixels to crop from top of map = image var cRight =3D iWidth; // number of pixels to crop from right of map = image var cBottom =3D iHeight; // number of pixels to crop from bottom of = map image if (xoffset < 0) // if mouse has moved to the right (from where map = was clicked) { cLeft =3D 0; // don't want to crop left side at all=20 cRight =3D iWidth - (-xoffset); // crop right side amount mouse has = dragged to the right } if (yoffset < 0) // if mouse has moved down the page { cTop =3D 0; // don't want to crop top at all cBottom =3D iHeight - (-yoffset); // crop bottom amount mouse has = dragged down the page=20 } =09 clipLayer("mainmap", cLeft, cTop, cRight, cBottom); // crop image to = map's initial area and... moveLayer("mainmap", origx - xoffset, origy - yoffset); // drag the = image around the page } /************************************************************************= =20 * Function: stopPanWithMouseUp * Author: Drew Eggers, Watauga County * Date: 2005 * Params: none. * Returns: none.=09 * Description: stop panning because mouseup has 'fired' * actual pan/reload of image is handled by tools.asp =20 = ************************************************************************/= function stopPanWithMouseUp() { ns4 =3D (document.layers) ? true:false // ns4 is true if browser is = netscape 4 type =09 scrollY =3D document.body.scrollTop; // Get the distance (pixels) that = has been // scolled down the page if (ns4) { endx =3D e.pageX; // x coord of current mouse position in pixels = on the page (not map) endy =3D e.pageY; // y coord of current mouse position in pixels = on the page (not map) } else { endx =3D event.x; // x coord of current mouse position in pixels = on the page (not map) endy =3D event.y + scrollY; // (y coord) top is considered top of = viewed area - not actual top } document.cookie =3D "startx=3D" + startx; // store xcoord's starting = position of pan document.cookie =3D "starty=3D" + starty; // store y coord's = starting position of pan document.cookie =3D "endx=3D" + endx; // store x coord's ending = position document.cookie =3D "endy=3D" + endy; // store y coord's ending = position =20 /* toolform will now submit because of mouseup. tools.asp handles = this event */ } /************************************************************************= =20 * Function: stopPanWithMouseOut * Author: Drew Eggers, Watauga County * Date: 2005 * Params: none. * Returns: none.=09 * Description: stop panning because user has dragged to=20 * the point that the cursor has left the map area =20 * actual pan/reload of image is handled by tools.asp =20 = ************************************************************************/= function stopPanWithMouseOut() { ns4 =3D (document.layers) ? true:false // ns4 is true if browser is = netscape 4 type =09 scrollY =3D document.body.scrollTop; // Get the distance (pixels) that = has been // scolled down the page if (ns4) { endx =3D e.pageX; // x coord of current mouse position in pixels = on the page (not map) endy =3D e.pageY; // y coord of current mouse position in pixels = on the page (not map) } else { endx =3D event.x; // x coord of current mouse position in pixels = on the page (not map) endy =3D event.y + scrollY; // (y coord) top is considered top of = viewed area - not actual top } document.cookie =3D "startx=3D" + startx; // store xcoord's starting = position of pan document.cookie =3D "starty=3D" + starty; // store y coord's = starting position of pan document.cookie =3D "endx=3D" + endx; // store x coord's ending = position document.cookie =3D "endy=3D" + endy; // store y coord's ending = position =20 toolform.submit(); // form even will not have 'fired' since = there was never a mouseup // event. Must manually submit the form to be processed by = tools.asp } /************************************************************************= =20 * Function: clipLayer * Author: Drew Eggers, Watauga County * Date: 2005 * Params: name - id of the layer to be clipped * clipleft - num pixels to left side to crop * cliptop - num pixels on top to crop * clipright - num pixels on right to crop * clipbottom - num pixels on bottom to crop * Returns: none.=09 * Description: takes the map image and crops it to the area that the=20 * map initially occupies =20 = ************************************************************************/= function clipLayer(name, clipleft, cliptop, clipright, clipbottom)=20 { ns4 =3D (document.layers) ? true:false // ns4 is true if browser is = netscape 4 type =09 var layer =3D getLayer(name); // Get the html object (layer) to move =09 if (ns4)=20 { /* Crop each side of the image (Netscape 4 style) */ layer.clip.left =3D clipleft; layer.clip.top =3D cliptop; layer.clip.right =3D clipright; layer.clip.bottom =3D clipbottom; } else { /* Crop the image to a rectangle (IE style) */ layer.clip =3D 'rect(' + cliptop + ' ' + clipright + ' ' + clipbottom = + ' ' + clipleft +')'; } } /************************************************************************= =20 * Function: moveLayer * Author: Drew Eggers, Watauga County * Date: 2005 * Params: name - name of the html object (layer) to move * x - new x location for the top left corner of the layer * y - new y location for the top left corner of the layer * Returns: none.=09 * Description: move the map image's upper lh corner to x and y =20 = ************************************************************************/= function moveLayer(name, x, y)=20 { ns4 =3D (document.layers) ? true:false // ns4 is true if browser is = netscape 4 type =09 var layer =3D getLayer(name); // Get the html object (layer) to = move if (ns4) layer.moveTo(x, y); // move the upper left hand corner of layer = to x,y else=20 { layer.left =3D x + "px"; // move layer horizontally x pixels layer.top =3D y + "px"; // move layer vertically y pixels } } /*********************************************************************** * Next 3 functions display XY coordinates on status bar = ***********************************************************************/ function showXY() { var numDecimals =3D 8; =09 getImageXY() getMapXY(window.event.clientX,window.event.clientY) var u =3D Math.pow(10,numDecimals); var uX =3D Math.round(mapX * u) / u var uY=3D Math.round(mapY * u) / u var statDisplay =3D "" //make sure the mouse is within the image to display other wise=20 //clear the status.=20 if ((mouseX0)&&(mouseY>0)){ window.status =3D "X:" +uX + " Y:" + uY; }else{ window.status =3D ""; } } function getImageXY() { ns4 =3D (document.layers) ? true:false =20 if (ns4) { mouseX=3De.pageX; mouseY=3De.pageY; } else { mouseX=3Devent.clientX + document.body.scrollLeft; mouseY=3Devent.clientY + document.body.scrollTop; } // subtract offsets from page left and top mouseX =3D mouseX-get_cookie("maplocx"); mouseY =3D mouseY-get_cookie("maplocy"); } function getMapXY(xIn,yIn) { pixelX =3D Math.abs(get_cookie("currentExtentRight") = -(get_cookie("currentExtentLeft"))) / get_cookie("mapwidth"); mapX =3D pixelX * xIn + (+get_cookie("currentExtentLeft")); pixelY =3D = Math.abs(get_cookie("currentExtentTop")-(get_cookie("currentExtentBottom"= ))) / get_cookie("mapheight"); mapY =3D pixelY * (get_cookie("mapheight") - yIn) + = (+get_cookie("currentExtentBottom")); } ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://wataugacounty.org/gis/init.js /************************************************************************= **************** * File: init.js * Author: Drew Eggers, Watauga County 2005 * Revised: Oct. 11 2005 * Functions: jsInit(thetool) - Call SetTool(), set start map position = on page, * and hide 'loading page...' animated gif * SetTool(thetool) - Call GetTool() with what tool should be AFTER = submit() * GetTool(thetool) - Set tool image shadow and set state of tool for * next page reload, submit tool if not a 'dragging' event * GetCursor() - Sets the appropriate cursor type to be used when the = mouse=20 * is over the map = *************************************************************************= ****************/ /* Globar vars for tab control */ var panels =3D new Array('Layers', 'Legend', 'Search', 'BooneLayers'); var selectedTab; /************************************************************************= =20 * Function: jsInit * Date: 2005 * Params: thetool - current tool being used * Returns: none.=09 * Description: Call SetTool(), set start map position on page,=20 * and hide 'loading page...' animated gif * (Called after page load) =20 = ************************************************************************/= function jsInit(thetool) { SetTool(thetool); // Set default tool for the next page load document.all.waiting.style.visibility=3D"hidden"; // hide the loading = gif showPanel(document.getElementById('tab1'), 'Layers'); initMap(); } /************************************************************************= * Function: SetTool * Date: 2005 * Params: thetool - current tool being used * Returns: none. * Description: Call GetTool() with what tool is at current page's load * (only called at page load) = ************************************************************************/= function SetTool(thetool) { switch(thetool) { case "": // If there is no tool, zoomin is the tool GetTool("zoomin") // to be used next break case "zoomfull": // If just zoomed to full extent, zoomin GetTool("zoomin") // should be the selected tool break case "zoomlast": // If just zoomed to previous extent,=20 GetTool("zoomin") // zoomin should be the selected tool break case "print": // after clicking the print button, GetTool("zoomin") // zoomin should be the selected tool break case "search": GetTool("zoomin") break } } /************************************************************************= * Function: GetTool * Date: 2005 * Params: thetool - tool to be used at next page load * Returns: none. * Description: Set tool image shadow and set state of tool for next=20 * page reload, submit form if not a 'dragging event'. * Note: this function is NOT ALWAYS called from SetTool(); * It is also called from index.asp when a tool is selected=20 = ************************************************************************/= function GetTool(thetool) { document.images.zoominbtn.src =3D "images/zoomin_1.gif"; document.images.zoominbtn.style.border =3D "outset"; document.images.zoomoutbtn.src =3D "images/zoomout_1.gif"; document.images.zoomoutbtn.style.border =3D "outset"; document.images.panbtn.src =3D "images/pan_1.gif"; document.images.panbtn.style.border =3D "outset"; document.images.selectbtn.src =3D "images/select_1.gif"; document.images.selectbtn.style.border =3D "outset"; document.images.identifyallbtn.src =3D "images/identifyall_1.gif"; document.images.identifyallbtn.style.border =3D "outset"; // document.images.measurebtn.src =3D "images/measure_1.gif"; // document.images.measurebtn.style.border =3D "outset"; document.images.zoomfullbtn.src =3D "images/fullextent_1.gif" document.images.zoomfullbtn.style.border =3D "outset"; document.images.zoomlastbtn.src =3D "images/zoomlast_1.gif" document.images.zoomlastbtn.style.border =3D "outset"; document.images.printbtn.src =3D "images/print_1.gif"; document.images.printbtn.style.border =3D "outset"; document.cookie =3D "tool=3D" + thetool; switch (thetool) { case "zoomfull": document.images.zoomfullbtn.src =3D = "images/fullextent_2.gif"; document.images.zoomfullbtn.style.border =3D "inset"; toolform.submit(); break; case "zoomlast": document.images.zoomlastbtn.src =3D "images/zoomlast_2.gif"; document.images.zoomlastbtn.style.border =3D "inset"; toolform.submit(); break; case "print": document.images.printbtn.src =3D "images/print_2.gif"; document.images.printbtn.style.border =3D "inset"; toolform.submit(); break; case "zoomin": document.images.zoominbtn.src =3D "images/zoomin_2.gif"; document.images.zoominbtn.style.border =3D "inset"; break; case "zoomout": document.images.zoomoutbtn.src =3D "images/zoomout_2.gif"; document.images.zoomoutbtn.style.border =3D "inset"; break; case "pan": document.images.panbtn.src =3D "images/pan_2.gif"; document.images.panbtn.style.border =3D "inset"; break; case "select": document.images.selectbtn.src =3D "images/select_2.gif"; document.images.selectbtn.style.border =3D "inset"; break; case "identifyall": document.images.identifyallbtn.src =3D = "images/identifyall_2.gif"; document.images.identifyallbtn.style.border =3D "inset"; break; case "measure": document.images.measurebtn.src =3D "images/measure_2.gif"; document.images.measurebtn.style.border =3D "inset"; break; } } /************************************************************************= * Function: GetCursor * Date: 2005 * Params: none. * Returns: none. * Description: Sets the appropriate cursor type to be used when the =20 * mouse is over the map=20 * Called from onmouseover element of MapTable on page * index.asp = ************************************************************************/= function GetCursor() { var cursor =3D "crosshair"; // Default cursor is crosshair =09 if (get_cookie("tool") =3D=3D "pan") // If current tool is pan { cursor =3D "all-scroll"; // make cursor the four arrows } else if (get_cookie("tool") =3D=3D "select") { cursor =3D "hand"; } else if (get_cookie("tool") =3D=3D "identifyall") { cursor =3D "hand"; } =09 return cursor; } /************************************************************************= * Function: get_cookie * Date: 2005 * Params: cookie_name : the name of the cookie to get the value=20 * from. * Returns: Value of the cookie, or null if non-existant * Description: finds the value of a cookie given the cookie's name * taken from (permission on page): * http://www.elated.com/tutorials/programming/javascript/cookies/ = ************************************************************************/= function get_cookie (cookie_name) { var results =3D document.cookie.match ( cookie_name + '=3D(.*?)(;|$)' = ); if (results) return (unescape(results[1])); else return null; } /************************************************************************= =20 * Function: getLayer * Author: Drew Eggers, Watauga County * Date: 2005 * Params: none. * Returns: none.=09 * Description: returns the html element that is the map image * function taken (and edited) from ESRI's HTML viewer code = =20 = ************************************************************************/= function getLayer(name)=20 { ns4 =3D (document.layers) ? true:false // ns4 is true if browser is = netscape 4 type ie4 =3D (document.all) ? true:false // ie4 is true if browser is IE 4 = type =09 if (ns4) // If Netscape 4 type, return layer object return(document.layers[name]); else if (ie4) // If IE 4 type, return the 'style' of html object { layer =3D eval('document.all.' + name + '.style'); return(layer); }=20 else // If > IE4 or > Netscape 4, return style of html element { var theObj =3D document.getElementById(name); return theObj.style } } function stoptools() { document.cookie =3D "tool=3D"; } //this function assigns the javascript functions to the map's event = handlers function initMap() { map.onmousedown =3D map_mouse_down; map.onmousemove =3D Map_onMouseMove; map.onmouseup =3D Map_onMouseUp; } function Map_onMouseDown() { rubberbander =3D new RubberRectangle(box, "blue", "dotted", "2px"); rubberbander.processEvent(event); } function Map_onMouseMove() { if (rubberbander) { rubberbander.processEvent(event); } } function Map_onMouseUp() { if (rubberbander) { rubberbander.processEvent(event); } } function SetActiveLayer(theLayer, visible) { var thecookie =3D "activelayer=3D" + theLayer; =09 if (visible) { document.cookie =3D thecookie; } else { alert("Layer must be visible to become the Active Layer"); } } function Resized() { //alert("Resize function not yet implemented! Map will likely not fit = will to screen!"); } function showPanel(tab, name) { if (selectedTab)=20 { selectedTab.style.backgroundColor =3D ''; selectedTab.style.paddingTop =3D ''; selectedTab.style.paddingBottom =3D ''; } selectedTab =3D tab; selectedTab.style.backgroundColor =3D 'white'; selectedTab.style.paddingTop =3D '6px'; for(i =3D 0; i < panels.length; i++) { document.getElementById(panels[i]).style.display =3D (name = =3D=3D panels[i]) ? 'block':'none'; } return false; } /************************************************************************= ********************** * Name: SearchParcels * Author: Drew Eggers, Watauga County * Date: August 29, 2006 * Purpose: Store form variables from index.asp in cookies to be used = for the parcel search. =20 * Also, make the current tool=3Dsearch so that program 'knows' = to do the search when the * page reloads = *************************************************************************= *********************/ function SearchParcels() { document.cookie =3D "tool=3Dsearch";=20 document.cookie =3D "searchpin=3D" + = document.getElementById("searchpin").value; // Following elements may contain spaces which get removed in a = cookie, so // they must be escaped to preserve the spaces document.cookie =3D "searchaddress=3D" + = escape(document.getElementById("searchaddress").value); document.cookie =3D "searchname=3D" + = escape(document.getElementById("searchname").value); } ------=_NextPart_000_0000_01C9FA47.63C9EE90 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://wataugacounty.org/gis/RubberRectangle.js /************************************************************************= ********************************** * * This class may be used to simulate the rubberbanding behavior used by = many windows based applications to=20 * capture a portion of the screen and the corresponding device = coordinates. It provides rubberband feedback=20 * through drawing a box of the specified color, width, and style between = the point at which the mouse is=20 * depressed and to which the mouse has moved. The developer must follow = the requirements listed below to=20 * make successful use of the class. =20 * * 1. This class has only been tested with the Internet Explorer browser = version 6.0. Use of any other=20 * browser is not supported. * * 2. Include the RubberRectangle.js source file in the target HTML page = header. * * 3. Include a DIV element in the document to serve as the container = that will respond to and be responsible=20 * for dispatching mouse events to the event handler of the instance of = the RubberRectangle class. This=20 * container element should contain an input of type image to serve as = the backdrop and an additional DIV=20 * that will serve as the visual representation of the envelope. * * 4. The additional DIV should have the visibility style preset to = hidden at design time. It should also=20 * contain another invisible DIV element of type with no children and = visibility of hidden as well. These=20 * settings are all necessary for creating a DIV that can range from 1 X = 1 pixels to any size area. Without=20 * these settings the DIV rectangle will never allow a box smaller than = the height of a para element. * * 5. Create an instance of the class and initialize it with the event = object and the DIV element for drawing=20 * the bounding box. This should typically be done in the mousedown = event of the top most container DIV=20 * element. * * 6. Forward the event object to the processEvent method of the class = on mousemove and mouseup events of the=20 * topmost container DIV. This methodology relies on the persistience = of the rubber bander beyond mouse=20 * events. Thus, the instance of RubberRectangle should be scoped at = the document or page level. *************************************************************************= **************************************/ function RubberRectangle(box, borderColor, borderStyle, borderWidth) { //if box is undefined then the constructor was called only for = creating //the class prototype object to assign instance functions if (box) { //the visual component for the class is an absolutely positioned = div //the use of the conditional operand is for allowing default style = parameters this.box =3D box; //initialize the styles for the rubberbanding box this.box.style.borderColor =3D borderColor ? borderColor : = "black"; this.box.style.borderStyle =3D borderStyle ? borderStyle : = "solid"; this.box.style.borderWidth =3D borderWidth ? borderWidth : "1px"; this.box.style.position =3D "absolute"; //preset the rubberbanding flag this.rubberbanding =3D false; } } //main event handler function, this function handles all drawing based = on events function RubberRectangle_processEvent(e) { switch (e.type) { case "mousedown": //only respond to left mouse clicks if (!this.rubberbanding && e.button =3D=3D 1) { //envelope coordinates in pixels //Absolute for dynamically locating the div in the browser //Relative for converting to map coordinates on the server this.absOrigX =3D e.clientX; this.absOrigY =3D e.clientY; this.absDestX =3D e.clientX; this.absDestY =3D e.clientY; this.relOrigX =3D e.offsetX; this.relOrigY =3D e.offsetY; this.relDestX =3D e.offsetX; this.relDestY =3D e.offsetY; //switch the rubberbanding flag so it will be rendered = dynamically this.rubberbanding =3D true; //locate the div and initialize its dimensions this.box.style.left =3D this.absOrigX; this.box.style.top =3D this.absOrigY; this.box.style.height =3D "0"; this.box.style.width =3D "0"; this.box.style.visibility =3D "visible"; } break; case "mousemove": if (this.rubberbanding && e.button =3D=3D 1) { //store the current cursor coordinates this.absDestX =3D e.clientX; this.absDestY =3D e.clientY; //height and width will always be the absolute value of the = difference in client coordinates var height =3D Math.abs(this.absOrigY - this.absDestY); var width =3D Math.abs(this.absOrigX - this.absDestX); this.box.style.height =3D height; this.box.style.width =3D width; //branch on the cartesian coordinate system quadrants = relative to origin if (this.absDestX > this.absOrigX && this.absDestY < = this.absOrigY) // I { this.box.style.left =3D this.absOrigX; this.box.style.top =3D this.absDestY; this.relDestX =3D this.relOrigX + width; this.relDestY =3D this.relOrigY - height; } else if (this.absDestX < this.absOrigX && this.absDestY < = this.absOrigY) // II { this.box.style.left =3D this.absDestX; this.box.style.top =3D this.absDestY; this.relDestX =3D this.relOrigX - width; this.relDestY =3D this.relOrigY - height; } else if (this.absDestX < this.absOrigX && this.absDestY > = this.absOrigY) // III { this.box.style.left =3D this.absDestX; this.box.style.top =3D this.absOrigY; this.relDestX =3D this.relOrigX - width; this.relDestY =3D this.relOrigY + height; } else if (this.absDestX > this.absOrigX && this.absDestY > = this.absOrigY) // IV { this.box.style.left =3D this.absOrigX; this.box.style.top =3D this.absOrigY; this.relDestX =3D this.relOrigX + width; this.relDestY =3D this.relOrigY + height; } else if (this.absDestX > this.absOrigX && this.absDestY = =3D=3D this.absOrigY) // 0 degrees { this.box.style.left =3D this.absOrigX; this.box.style.top =3D this.absOrigY; this.relDestX =3D this.relOrigX + width; this.relDestY =3D this.relOrigY; } else if (this.absDestX =3D=3D this.absOrigX && this.absDestY = < this.absOrigY) // 90 degrees { this.box.style.left =3D this.absOrigX; this.box.style.top =3D this.absDestY; this.relDestX =3D this.relOrigX; this.relDestY =3D this.relOrigY - height; } else if (this.absDestX < this.absOrigX && this.absDestY = =3D=3D this.absOrigY) // 180 degrees { this.box.style.left =3D this.absDestX; this.box.style.top =3D this.absOrigY; this.relDestX =3D this.relOrigX - width; this.relDestY =3D this.relOrigY; } else if (this.absDestX =3D=3D this.absOrigX && this.absDestY = > this.absOrigY) // 270 degrees { this.box.style.left =3D this.absOrigX; this.box.style.top =3D this.absOrigY; this.relDestX =3D this.relOrigX; this.relDestY =3D this.relOrigY + height; } } break; case "mouseup": if (this.rubberbanding && e.button =3D=3D 1) { this.rubberbanding =3D false; this.box.style.visibility =3D "hidden"; document.cookie =3D "startx=3D" + this.absOrigX; document.cookie =3D "starty=3D" + this.absOrigY; document.cookie =3D "endx=3D" + this.absDestX; document.cookie =3D "endy=3D" + this.absDestY; =20 if (!(this.absOrigX =3D=3D this.absDestX || this.absOrigY = =3D=3D this.absDestY)) { toolform.submit(); } } break; } } //force the creation of a prototype object for assigning instance = methods new RubberRectangle(); RubberRectangle.prototype.processEvent =3D RubberRectangle_processEvent; ------=_NextPart_000_0000_01C9FA47.63C9EE90--