Autodesk 15606-011408-9300 Developer Guide - Page 139

Custom Redlining Application, MGMapObject, addCirclePrimitive, addPolygonPrimitive, MGMapdigitize

Page 139 highlights

onDigitizedPolygon Function (continued) var obj = layer.getMapObject(formText); if (obj == null) var obj = layer.createMapObject(formText, formText, ""); // create MGCollection that holds user-specified polygon vertices var user_vertices = map.createObject("mgcollection"); user_vertices.add(numPoints); // use MGCollection to create polyline primitive and add it to // redline object obj.addPolylinePrimitive(points, user_vertices, false); // clear contents of 'Polygon Name' text box document.the_form.the_textbox.value = ""; } The Save It! button calls a JavaScript function that saves the map to the user's hard drive. The function prompts the user for the map password, then calls the MGMap.saveMWF method, and saves the map to the specified path: function save_it() { var fName = "c:\\My Documents\\my_map.mwf"; var password = prompt("Please enter a password.", ""); if (getMap().saveMWF(fName, password) ) alert("Map has been saved!"); else alert("Unable to save map."); } The example above is a very simple application designed to illustrate redlining. However, your application can have more features, such as allowing users to add other primitives besides polygons. Also, you can exert more control over how the primitives appear on screen or to query the state of existing redline objects. To learn more about these topics, refer to the following sections in the Autodesk MapGuide Viewer API Help: I For information about creating primitives, look up the MGMapObject add methods (addCirclePrimitive, addPolygonPrimitive, and so on). Also look up the MGMapdigitize methods and their corresponding events. I For information about controlling the appearance of redline objects, look up MGEdgeAttr, MGFillAttr, MGLineAttr, MGSymbolAttr, MGTextAttr, and MGRedlineSetup. I For information about querying redline objects, look up MGPrimitive. Custom Redlining Application | 139

  • 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

Custom Redlining Application
|
139
The example above is a very simple application designed to illustrate
redlining. However, your application can have more features, such as
allowing users to add other primitives besides polygons. Also, you can exert
more control over how the primitives appear on screen or to query the state
of existing redline objects. To learn more about these topics, refer to the
following sections in the
Autodesk MapGuide Viewer API Help
:
For information about creating primitives, look up the
MGMapObject
add
methods (
addCirclePrimitive
,
addPolygonPrimitive
, and so on).
Also look up the
MGMapdigitize
methods and their corresponding
events.
For information about controlling the appearance of redline objects, look
up
MGEdgeAttr
,
MGFillAttr
,
MGLineAttr
,
MGSymbolAttr
,
MGTextAttr
, and
MGRedlineSetup
.
For information about querying redline objects, look up
MGPrimitive
.
var obj = layer.getMapObject(formText);
if (obj == null)
var obj = layer.createMapObject(formText, formText, "");
// create MGCollection that holds user-specified polygon vertices
var user_vertices = map.createObject("mgcollection");
user_vertices.add(numPoints);
// use MGCollection to create polyline primitive and add it to
// redline object
obj.addPolylinePrimitive(points, user_vertices, false);
// clear contents of 'Polygon Name' text box
document.the_form.the_textbox.value = "";
}
The Save It! button calls a JavaScript function that saves the map
to the user
s hard drive. The function prompts the user for the map
password, then calls the MGMap.saveMWF method, and saves the map to
the specified path:
function save_it()
{
var fName = "c:\\My Documents\\my_map.mwf";
var password = prompt("Please enter a password.", "");
if (getMap().saveMWF(fName, password) )
alert("Map has been saved!");
else
alert("Unable to save map.");
}
onDigitizedPolygon Function (
continued
)