Autodesk 15606-011408-9300 Developer Guide - Page 138

Applications, polygon vertices, and the coordinates of those vertices.

Page 138 highlights

The Add/Update Polygon button calls a JavaScript function that lets the user draw a polygon by digitizing points on the map. The function first checks to see if there's a value in the Polygon Name check box. If there is a value, the function calls either the digitizePolygon or digitizePolygonEx method. Otherwise, the function displays an alert and exits: function add_pgon() { // get map object var map = getMap(); // exit function if 'Polygon Name' text box is empty if (document.the_form.the_textbox.value == "") { alert("Please enter a polygon name.") return; } // if browser is Netscape, use 'Ex' version and pass // observer applet; if browser is Internet Explorer, // use 'non-Ex' version with no argument if (navigator.appName == "Netscape") map.digitizePolygonEx(document.obs); else map.digitizePolygon(); } The digitizePolygon and digitizePolygonEx methods both fire the onDigitizedPolygon event, passing it the map object, the number of polygon vertices, and the coordinates of those vertices. The onDigitizedPolygon event looks for a JavaScript function of the same name and, if that function exists, executes it. In fact, the onDigitizedPolygon function does exist, because we've created it. Here's the code for that function: onDigitizedPolygon Function function onDigitizedPolygon(map, numPoints, points) { // create variable and assign it user-specified value // from 'Polygon Name' text box var formText = document.the_form.the_textbox.value; // create redline layer, or get it if it already exists var layer = map.getMapLayer("My Redline Layer"); if (layer == null) layer = map.createLayer("redline", "My Redline Layer"); // create redline object or get it if it exists (getMapObject // takes an object key as its value, while createMapObject // takesa key and a name -- the formText variable supplies // both of those values) 138 | Chapter 7 Applications

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208

138
|
Chapter 7
Applications
The Add/Update Polygon button calls a JavaScript function that lets the user
draw a polygon by digitizing points on the map. The function first checks to
see if there
s a value in the Polygon Name check box. If there is a value, the
function calls either the
digitizePolygon
or
digitizePolygonEx
method. Otherwise, the function displays an alert and exits:
function add_pgon()
{
// get map object
var map = getMap();
// exit function if 'Polygon Name' text box is empty
if (document.the_form.the_textbox.value == "")
{
alert("Please enter a polygon name.")
return;
}
// if browser is Netscape, use 'Ex' version and pass
// observer applet; if browser is Internet Explorer,
// use 'non-Ex' version with no argument
if (navigator.appName == "Netscape")
map.digitizePolygonEx(document.obs);
else
map.digitizePolygon();
}
The
digitizePolygon
and
digitizePolygonEx
methods both fire the
onDigitizedPolygon
event, passing it the map object, the number of
polygon vertices, and the coordinates of those vertices. The
onDigitizedPolygon
event looks for a JavaScript function of the same
name and, if that function exists, executes it. In fact, the
onDigitizedPolygon
function does exist, because we
ve created it. Here
s
the code for that function:
onDigitizedPolygon Function
function onDigitizedPolygon(map, numPoints, points)
{
// create variable and assign it user-specified value
// from 'Polygon Name' text box
var formText = document.the_form.the_textbox.value;
// create redline layer, or get it if it already exists
var layer = map.getMapLayer("My Redline Layer");
if (layer == null)
layer = map.createLayer("redline", "My Redline Layer");
// create redline object or get it if it exists (getMapObject
// takes an object key as its value, while createMapObject
// takesa key and a name -- the formText variable supplies
// both of those values)