Autodesk 15606-011408-9300 Developer Guide - Page 44

Autodesk MapGuide Viewer, API Help, t work during the busy state. For example

Page 44 highlights

There are some important points to remember about the busy state: I In general, most write methods and properties are affected by the busy state and return a -1 (busy) error code when called during a busy state. Most read methods and properties are not affected by the busy state. However, there are exceptions to both of these rules. The best way to learn which methods and properties do not work during the busy state is to view the method/property descriptions in the Autodesk MapGuide Viewer API Help. I When your Autodesk MapGuide Viewer application calls an API method that causes a busy state, Autodesk MapGuide Viewer can return control to the application and then go to the next method while still in the busy state. To avoid errors, you need to make sure that Autodesk MapGuide Viewer is not in a busy state when your application calls one of the methods that are affected by the busy state. Your application is most likely to fail when it is about to call two or more API methods-the first an API method that automatically invokes a refresh, and subsequent ones methods that don't work during the busy state. For example: function selectAndZoomToPointObject(mgObj) { var map = getMap(); var sel = map.getSelection(); sel.clear(); sel.addObject(mgObj); map.zoomSelected(); // Busy state begins in zoomSelected() map.setWidth(5, "KM"); // Error occurs because setWidth() fails // if called during the busy state } To avoid errors, you need to make sure that Autodesk MapGuide Viewer is not in a busy state when your application calls one of these methods. To do this you can: I Control map refresh using the autoRefresh flag I Detect when a map refresh is about to happen I Detect a change in the busy state Each of these approaches is described in the following sections. 44 | Chapter 3 Accessing Maps

  • 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

44
|
Chapter 3
Accessing Maps
There are some important points to remember about the busy state:
In general, most write methods and properties are affected by the busy
state and return a
-1 (busy)
error code when called during a busy state.
Most read methods and properties are not affected by the busy state. How-
ever, there are exceptions to both of these rules. The best way to learn
which methods and properties do not work during the busy state is to
view the method/property descriptions in the
Autodesk MapGuide Viewer
API Help
.
When your Autodesk MapGuide Viewer application calls an API method
that causes a busy state, Autodesk MapGuide Viewer can return control to
the application and then go to the next method while still in the busy state.
To avoid errors, you need to make sure that Autodesk MapGuide Viewer is
not in a busy state when your application calls one of the methods that are
affected by the busy state.
Your application is most likely to fail when it is about to call two or more API
methods
the first an API method that automatically invokes a refresh, and
subsequent ones methods that don
t work during the busy state. For example:
function selectAndZoomToPointObject(mgObj)
{
var map = getMap();
var sel = map.getSelection();
sel.clear();
sel.addObject(mgObj);
map.zoomSelected();
// Busy state begins in zoomSelected()
map.setWidth(5, "KM"); // Error occurs because setWidth() fails
// if called during the busy state
}
To avoid errors, you need to make sure that Autodesk MapGuide Viewer is
not in a busy state when your application calls one of these methods. To do
this you can:
Control map refresh using the
autoRefresh
flag
Detect when a map refresh is about to happen
Detect a change in the busy state
Each of these approaches is described in the following sections.