Autodesk 15606-011408-9300 Developer Guide - Page 54

returns the boolean value, thus setting

Page 54 highlights

The function is named onViewChanging because it's triggered by the Autodesk MapGuide Viewer API event of the same name. Whenever an event is triggered, Autodesk MapGuide Viewer checks for a function whose name matches the event name. If the function is found, Autodesk MapGuide Viewer invokes it, passing arguments that vary by event. onViewChanging takes an MGMap object as an argument passed by the onViewChanging event. Because the event provides an instance of the map object, we don't need to obtain it with getMap. For example,the following function links map layers: function onViewChanging(thisMap) // 'thisMap' is MGMap object provided by event { var states = thisMap.getMapLayer ("States"); var countries = thisMap.getMapLayer("Counties"); var zipCodes = thisMap.getMapLayer("ZIP Codes"); var vis = ( states.getVisibility() || counties.getVisibility() || zipCodes.getVisibility() ); var layers = thisMap.getMapLayersEx(); for (var i = 0; i < layers.size(); i++) { var layer = layers.item(i); if (!layer.equals(states) && !layer.equals(counties) && !layer.equals(zipCodes)) { layer.setVisibility(vis); } } } The function starts by using the getMapLayer method to return each of the control layers as objects. Those objects are assigned to three variables named states, counties, and zipCodes. Next, onViewChanging uses the getVisibility method to determine if any of the control layers are visible. If at least one control layer is visible (that is, if states is visible or counties is visible or zipCodes is visible), getVisibility returns the boolean value True, thus setting the vis variable to True. Otherwise, it sets vis to the False value. Then onViewChanging uses the getMapLayersEx method to create a layer collection and assign it to the layers variable. Finally, the function uses a for loop to cycle through each map layer. Each time the loop encounters a layer that is not one of the control layers, that layer is made visible or invisible, depending on the value of the vis variable. 54 | Chapter 4 Working with Map Layers, Map Features, and Printing

  • 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

54
|
Chapter 4
Working with Map Layers, Map Features, and Printing
The function is named
onViewChanging
because it
s triggered by the
Autodesk MapGuide Viewer API event of the same name. Whenever an event
is triggered, Autodesk MapGuide Viewer checks for a function whose name
matches the event name. If the function is found, Autodesk MapGuide
Viewer invokes it, passing arguments that vary by event.
onViewChanging
takes an
MGMap
object as an argument passed by the
onViewChanging
event. Because the event provides an instance of the map
object, we don
t need to obtain it with getMap. For example,the following
function links map layers:
function onViewChanging(thisMap) // ’thisMap’ is MGMap object provided by event
{
var states = thisMap.getMapLayer ("States");
var countries = thisMap.getMapLayer("Counties");
var zipCodes = thisMap.getMapLayer("ZIP Codes");
var vis =
(
states.getVisibility() ||
counties.getVisibility() ||
zipCodes.getVisibility()
);
var layers = thisMap.getMapLayersEx();
for (var i = 0; i < layers.size(); i++)
{
var layer = layers.item(i);
if (!layer.equals(states)
&& !layer.equals(counties) && !layer.equals(zipCodes))
{
layer.setVisibility(vis);
}
}
}
The function starts by using the
getMapLayer
method to return each of the
control layers as objects. Those objects are assigned to three variables named
states
,
counties
, and
zipCodes
.
Next,
onViewChanging
uses the
getVisibility
method to determine if
any of the control layers are visible. If at least one control layer is visible (that
is, if
states
is visible
or
counties
is visible
or
zipCodes
is visible),
getVisibility
returns the boolean value
True
, thus setting the
vis
vari-
able to
True
. Otherwise, it sets
vis
to the
False
value.
Then
onViewChanging
uses the
getMapLayersEx
method to create a layer
collection and assign it to the
layers
variable.
Finally, the function uses a
for
loop to cycle through each map layer. Each
time the loop encounters a layer that is not one of the control layers, that
layer is made visible or invisible, depending on the value of the
vis
variable.