Autodesk 15606-011408-9300 Developer Guide - Page 76

Autodesk MapGuide Viewer Plug-In observer applet code

Page 76 highlights

We named the event observer obs. To call this observer for Netscape Navigator, refer to the observer as document.obs, because in the Netscape object model the observer is an object of the document. Be sure to copy the Autodesk MapGuide Viewer Plug-In observer applet code MapGuideObserver6.class to the same directory as your HTML files, or this code won't work. If you were to embed MapGuideObserver6.class in a different frame or window from the function where you called it, you will need to specify the full window.frame.document.object name. For example: parent.mapframe.document.obs. Now, suppose you have a button named Digitize. This button is set up so that its onClick event (a browser event) calls a function you created, DigitizeIt. The DigitizeIt function calls the digitizePoint method, an Autodesk MapGuide Viewer API method that waits for the user to click a point on the map and then captures that point. For Netscape Navigator, the digitizePoint method requires an event observer as a parameter, whereas Internet Explorer does not. Here is the code for both: function digitizeIt() { if (navigator.appName == "Navigator") getMap().digitizePoint(document.obs); else getMap().digitizePoint(); } So if the user is viewing the map in Netscape, the observer applet (document.obs) is passed as a parameter. The browser waits for the user to click a point on the map, which triggers the onDigitizedPoint event. Then, one of the two observers picks up the event and tells the browser what function to call next, namely an event handler function you named onDigitizedPoint. The onDigitizedPoint function then does whatever you want with the event, such as retrieving the coordinates of the point the user clicked. 76 | Chapter 5 Handling Events

  • 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

76
|
Chapter 5
Handling Events
We named the event observer
obs
. To call this observer for Netscape
Navigator, refer to the observer as
document.obs
, because in the Netscape
object model the observer is an object of the document. Be sure to copy the
Autodesk MapGuide Viewer Plug-In observer applet code
MapGuideObserver6.class
to the same directory as your HTML files, or
this code won
t work. If you were to embed
MapGuideObserver6.class
in
a different frame or window from the function where you called it, you will
need to specify the full
window.frame.document.object
name. For
example:
parent.mapframe.document.obs
.
Now, suppose you have a button named
Digitize
. This button is set up so
that its
onClick
even
t
(a browser event) calls a function you created,
DigitizeIt
. The
DigitizeIt
function calls the
digitizePoint
method,
an Autodesk MapGuide Viewer API method that waits for the user to click a
point on the map and then captures that point. For Netscape Navigator, the
digitizePoint
method requires an event observer as a parameter, whereas
Internet Explorer does not. Here is the code for both:
function digitizeIt()
{
if (navigator.appName == "Navigator")
getMap().digitizePoint(document.obs);
else
getMap().digitizePoint();
}
So if the user is viewing the map in Netscape, the observer applet
(
document.obs
) is passed as a parameter. The browser waits for the user to
click a point on the map, which triggers the
onDigitizedPoint
event.
Then, one of the two observers picks up the event and tells the browser what
function to call next, namely an event handler function you named
onDigitizedPoint
. The
onDigitizedPoint
function then does whatever
you want with the event, such as retrieving the coordinates of the point the
user clicked.