Autodesk 15606-011408-9300 Developer Guide - Page 59

doGet Coordinates Function, layer and assign it to a variable named

Page 59 highlights

doGet Coordinates Function var cntVertices = map.createObject("MGCollection"); var res = obj.getVertices(vertices, cntVertices); if (res == 0) { alert("No access to coordinate information."); return; } msg = "Parcel:" + obj.getKey() + "\n"; msg = msg + "Coordinates in MCS unit\n"; for(var i = 0; i < cntVertices.item(0); i++) { var pnt = vertices.item(i); msg = msg + pnt.getX() + "," + pnt.getY() + "\n"; } alert(msg); } The doGetCoordinates function starts by using getMap to get an instance of the map; then it gets the current selection and assigns it to the sel variable: var map = getMap(); var sel = map.getSelection(); Then doGetCoordinates uses the getMapLayer method to select the Parcels layer and assign it to a variable named layer; if the Parcels layer doesn't exist in the map, an alert displays and the function terminates: var layer = map.getMapLayer("Parcels"); if (layer == null) { alert("No Parcels layer found in this map."); return; } Next, doGetCoordinates uses the getNumObjects and getMapObjectsEx methods to verify that one, and only one, feature is selected, and that the current layer is not empty. If the criteria are not met, an alert displays and the function terminates: if ( (sel.getNumObjects() > 1) || (sel.getNumObjects() == 0) || (sel.getMapObjectsEx(layer).size() == 0) ) { alert("Select only one parcel, please."); return; } Working with Map Features | 59

  • 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

Working with Map Features
|
59
The
doGetCoordinates
function starts by using
getMap
to get an instance
of the map; then it gets the current selection and assigns it to the
sel
variable:
var map = getMap();
var sel = map.getSelection();
Then
doGetCoordinates
uses the
getMapLayer
method to select the
Parcels
layer and assign it to a variable named
layer
; if the
Parcels
layer
doesn
t exist in the map, an
alert
displays and the function terminates:
var layer = map.getMapLayer("Parcels");
if (layer == null)
{
alert("No Parcels layer found in this map.");
return;
}
Next,
doGetCoordinates
uses the
getNumObjects
and
getMapObjectsEx
methods to verify that one, and only one, feature is
selected, and that the current layer is not empty. If the criteria are not met,
an
alert
displays and the function terminates:
if (
(sel.getNumObjects() > 1) ||
(sel.getNumObjects() == 0) ||
(sel.getMapObjectsEx(layer).size() == 0)
)
{
alert("Select only one parcel, please.");
return;
}
var cntVertices = map.createObject("MGCollection");
var res = obj.getVertices(vertices, cntVertices);
if (res == 0)
{
alert("No access to coordinate information.");
return;
}
msg = "Parcel:" + obj.getKey() + "\n";
msg = msg + "Coordinates in MCS unit\n";
for(var i = 0; i < cntVertices.item(0); i++)
{
var pnt = vertices.item(i);
msg = msg + pnt.getX() + "," + pnt.getY() + "\n";
}
alert(msg);
}
doGet Coordinates Function