Autodesk 15606-011408-9300 Developer Guide - Page 68

Adding Custom Elements, Adding Symbols for Use with the Viewer API

Page 68 highlights

Adding Custom Page Elements You can add custom page elements to the printout. Currently, the API can only access symbols in the API symbol list. The API symbol list is a MWF or EMF file containing a small set of predefined symbols. However, additional symbols can be added to the list using Autodesk MapGuide® Author. Refer to the topics "Adding Symbols for Use with the Viewer API" and "API Symbol Manager dialog box" in the Autodesk MapGuide Help for more information. The following example shows an onEndLayout event handler, written in JavaScript, that adds a custom logo to the top left corner of the printout. Note that the logo is rotated 90°. This example assumes that the myLogo symbol has been added to the API symbol list by the map author: function onEndLayout(layout, info) { // add 'myLogo' symbol to layout and return as 'sym' var sym = layout.addSymbol("myLogo"); // function ends if symbol doesn't load properly if (sym == null) return; // display symbol the top-left corner of page MGExtentEx ext = sym.getExtent(); ext.set(0, 0, 600, 600); sym.setExtent(ext); // rotate symbol var attr = sym.getSymbolAttr(); if (attr != null) { attr.setRotation(-90.0); } } 68 | 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

68
|
Chapter 4
Working with Map Layers, Map Features, and Printing
Adding Custom Page Elements
You can add custom page elements to the printout. Currently, the API can
only access symbols in the API symbol list. The API symbol list is a MWF or
EMF file containing a small set of predefined symbols. However, additional
symbols can be added to the list using Autodesk MapGuide
®
Author. Refer to
the topics
Adding Symbols for Use with the Viewer API
and
API Symbol
Manager dialog box
in the
Autodesk MapGuide Help
for more information.
The following example shows an
onEndLayout
event handler, written in
JavaScript, that adds a custom logo to the top left corner of the printout. Note
that the logo is rotated 90
°
. This example assumes that the
myLogo
symbol
has been added to the API symbol list by the map author:
function onEndLayout(layout, info)
{
// add 'myLogo' symbol to layout and return as 'sym'
var sym = layout.addSymbol("myLogo");
// function ends if symbol doesn't load properly
if (sym == null) return;
// display symbol the top-left corner of page
MGExtentEx ext = sym.getExtent();
ext.set(0, 0, 600, 600);
sym.setExtent(ext);
// rotate symbol
var attr = sym.getSymbolAttr();
if (attr != null) {
attr.setRotation(-90.0);
}
}