Snippets

Piotr Szrajber Geospatial Portal SDK - Hack to modify the style programmatically (both in the legend and on the map)

Created by Piotr Szrajber
  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
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
/**
* Hack to programmatically modify the legend item's style. Intended to work with PSS
* 2018-06-22 Piotr Szrajber <piotr.szrajber@hexagongeospatial.com>
*/

function setStyle(featureClassId, styleStub) {
    var styleControl = Sys.Application.findComponent("StyleWindow_StyleControl");
    styleControl._lidId = featureClassId;
    styleControl._styleClone = Intergraph.WebSolutions.Core.WebClient.Platform.Style.StyleDefinition.create(styleStub);
    styleControl.applyStyle();
}

/** usage **/

setStyle("FeatureClass1", {
    "styleCollectionType": 0,
    "name": "Compound style",
    "type": 5,
    "defaultsName": null,
    "defaults": null,
    "visible": true,
    "styles": [
        {
            "styleCollectionType": 4,
            "name": "Area styles",
            "type": 0,
            "defaultsName": null,
            "defaults": {
                "boundsColor": "#000000",
                "boundsTranslucency": 0,
                "boundsWidth": 2,
                "fillColor": "#aaaaaa",
                "fillTranslucency": 0,
                "lineColor": "#000000",
                "lineTranslucency": 0,
                "lineWidth": 2,
                "pointColor": "#000000",
                "pointTranslucency": 0,
                "pointSize": 3,
                "fontFillColor": "#000000",
                "fontFillTranslucency": 0,
                "fontSize": 7,
                "fontRotation": 0,
                "fontItalic": false,
                "fontBold": false,
                "fontUnderline": false,
                "strokeLinecap": "round",
                "strokeDashstyle": "solid",
                "pointerEvents": "visiblePainted",
                "cursor": "inherit",
                "fontFamily": "Verdana",
                "fontStrokeColor": "#000000",
                "fontStrokeWidth": 0,
                "fontStrokeOpacity": 0,
                "fontWeight": "500",
                "maskFontFillColor": "#FFFFFF",
                "maskFontFillOpacity": 0.3,
                "maskFontStrokeColor": "#FFFFFF",
                "maskFontStrokeWidth": "0.5ex",
                "maskFontStrokeOpacity": 0.5,
                "imageBoundsWidth": 0
            },
            "visible": true,
            "styles": [
                {
                    "styleCollectionType": 0,
                    "name": "Area style",
                    "type": 4,
                    "defaultsName": null,
                    "defaults": {
                        "boundsColor": "#000000",
                        "boundsTranslucency": 0,
                        "boundsWidth": 2,
                        "fillColor": "#aaaaaa",
                        "fillTranslucency": 0,
                        "lineColor": "#000000",
                        "lineTranslucency": 0,
                        "lineWidth": 2,
                        "pointColor": "#000000",
                        "pointTranslucency": 0,
                        "pointSize": 3,
                        "fontFillColor": "#000000",
                        "fontFillTranslucency": 0,
                        "fontSize": 7,
                        "fontRotation": 0,
                        "fontItalic": false,
                        "fontBold": false,
                        "fontUnderline": false,
                        "strokeLinecap": "round",
                        "strokeDashstyle": "solid",
                        "pointerEvents": "visiblePainted",
                        "cursor": "inherit",
                        "fontFamily": "Verdana",
                        "fontStrokeColor": "#000000",
                        "fontStrokeWidth": 0,
                        "fontStrokeOpacity": 0,
                        "fontWeight": "500",
                        "maskFontFillColor": "#FFFFFF",
                        "maskFontFillOpacity": 0.3,
                        "maskFontStrokeColor": "#FFFFFF",
                        "maskFontStrokeWidth": "0.5ex",
                        "maskFontStrokeOpacity": 0.5,
                        "imageBoundsWidth": 0
                    },
                    "visible": true,
                    "styles": [
                        {
                            "styleCollectionType": 2,
                            "name": "Boundary styles",
                            "type": 0,
                            "defaultsName": null,
                            "defaults": {
                                "boundsColor": "#000000",
                                "boundsTranslucency": 0,
                                "boundsWidth": 2,
                                "fillColor": "#aaaaaa",
                                "fillTranslucency": 0,
                                "lineColor": "#000000",
                                "lineTranslucency": 0,
                                "lineWidth": 2,
                                "pointColor": "#000000",
                                "pointTranslucency": 0,
                                "pointSize": 3,
                                "fontFillColor": "#000000",
                                "fontFillTranslucency": 0,
                                "fontSize": 7,
                                "fontRotation": 0,
                                "fontItalic": false,
                                "fontBold": false,
                                "fontUnderline": false,
                                "strokeLinecap": "round",
                                "strokeDashstyle": "solid",
                                "pointerEvents": "visiblePainted",
                                "cursor": "inherit",
                                "fontFamily": "Verdana",
                                "fontStrokeColor": "#000000",
                                "fontStrokeWidth": 0,
                                "fontStrokeOpacity": 0,
                                "fontWeight": "500",
                                "maskFontFillColor": "#FFFFFF",
                                "maskFontFillOpacity": 0.3,
                                "maskFontStrokeColor": "#FFFFFF",
                                "maskFontStrokeWidth": "0.5ex",
                                "maskFontStrokeOpacity": 0.5,
                                "imageBoundsWidth": 0
                            },
                            "visible": true,
                            "styles": [
                                {
                                    "styleCollectionType": 0,
                                    "name": "Simple line style",
                                    "type": 2,
                                    "defaultsName": null,
                                    "defaults": {
                                        "boundsColor": "#000000",
                                        "boundsTranslucency": 0,
                                        "boundsWidth": 2,
                                        "fillColor": "#aaaaaa",
                                        "fillTranslucency": 0,
                                        "lineColor": "#000000",
                                        "lineTranslucency": 0,
                                        "lineWidth": 2,
                                        "pointColor": "#000000",
                                        "pointTranslucency": 0,
                                        "pointSize": 3,
                                        "fontFillColor": "#000000",
                                        "fontFillTranslucency": 0,
                                        "fontSize": 7,
                                        "fontRotation": 0,
                                        "fontItalic": false,
                                        "fontBold": false,
                                        "fontUnderline": false,
                                        "strokeLinecap": "round",
                                        "strokeDashstyle": "solid",
                                        "pointerEvents": "visiblePainted",
                                        "cursor": "inherit",
                                        "fontFamily": "Verdana",
                                        "fontStrokeColor": "#000000",
                                        "fontStrokeWidth": 0,
                                        "fontStrokeOpacity": 0,
                                        "fontWeight": "500",
                                        "maskFontFillColor": "#FFFFFF",
                                        "maskFontFillOpacity": 0.3,
                                        "maskFontStrokeColor": "#FFFFFF",
                                        "maskFontStrokeWidth": "0.5ex",
                                        "maskFontStrokeOpacity": 0.5,
                                        "imageBoundsWidth": 0
                                    },
                                    "visible": true,
                                    "styles": [],
                                    "color": "#000000",
                                    "translucency": 0,
                                    "width": 2,
                                    "dasharray": ""
                                }
                            ]
                        },
                        {
                            "styleCollectionType": 3,
                            "name": "Fill styles",
                            "type": 0,
                            "defaultsName": null,
                            "defaults": {
                                "boundsColor": "#000000",
                                "boundsTranslucency": 0,
                                "boundsWidth": 2,
                                "fillColor": "#aaaaaa",
                                "fillTranslucency": 0,
                                "lineColor": "#000000",
                                "lineTranslucency": 0,
                                "lineWidth": 2,
                                "pointColor": "#000000",
                                "pointTranslucency": 0,
                                "pointSize": 3,
                                "fontFillColor": "#000000",
                                "fontFillTranslucency": 0,
                                "fontSize": 7,
                                "fontRotation": 0,
                                "fontItalic": false,
                                "fontBold": false,
                                "fontUnderline": false,
                                "strokeLinecap": "round",
                                "strokeDashstyle": "solid",
                                "pointerEvents": "visiblePainted",
                                "cursor": "inherit",
                                "fontFamily": "Verdana",
                                "fontStrokeColor": "#000000",
                                "fontStrokeWidth": 0,
                                "fontStrokeOpacity": 0,
                                "fontWeight": "500",
                                "maskFontFillColor": "#FFFFFF",
                                "maskFontFillOpacity": 0.3,
                                "maskFontStrokeColor": "#FFFFFF",
                                "maskFontStrokeWidth": "0.5ex",
                                "maskFontStrokeOpacity": 0.5,
                                "imageBoundsWidth": 0
                            },
                            "visible": true,
                            "styles": [
                                {
                                    "styleCollectionType": 0,
                                    "name": "Simple fill style",
                                    "type": 3,
                                    "defaultsName": null,
                                    "defaults": {
                                        "boundsColor": "#000000",
                                        "boundsTranslucency": 0,
                                        "boundsWidth": 2,
                                        "fillColor": "#aaaaaa",
                                        "fillTranslucency": 0,
                                        "lineColor": "#000000",
                                        "lineTranslucency": 0,
                                        "lineWidth": 2,
                                        "pointColor": "#000000",
                                        "pointTranslucency": 0,
                                        "pointSize": 3,
                                        "fontFillColor": "#000000",
                                        "fontFillTranslucency": 0,
                                        "fontSize": 7,
                                        "fontRotation": 0,
                                        "fontItalic": false,
                                        "fontBold": false,
                                        "fontUnderline": false,
                                        "strokeLinecap": "round",
                                        "strokeDashstyle": "solid",
                                        "pointerEvents": "visiblePainted",
                                        "cursor": "inherit",
                                        "fontFamily": "Verdana",
                                        "fontStrokeColor": "#000000",
                                        "fontStrokeWidth": 0,
                                        "fontStrokeOpacity": 0,
                                        "fontWeight": "500",
                                        "maskFontFillColor": "#FFFFFF",
                                        "maskFontFillOpacity": 0.3,
                                        "maskFontStrokeColor": "#FFFFFF",
                                        "maskFontStrokeWidth": "0.5ex",
                                        "maskFontStrokeOpacity": 0.5,
                                        "imageBoundsWidth": 0
                                    },
                                    "visible": true,
                                    "styles": [],
                                    "color": "#FF0000",
                                    "translucency": 0,
                                    "imageWidth": 1,
                                    "imageHeight": 1
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "styleCollectionType": 2,
            "name": "Linear styles",
            "type": 0,
            "defaultsName": null,
            "defaults": {
                "boundsColor": "#000000",
                "boundsTranslucency": 0,
                "boundsWidth": 2,
                "fillColor": "#aaaaaa",
                "fillTranslucency": 0,
                "lineColor": "#000000",
                "lineTranslucency": 0,
                "lineWidth": 2,
                "pointColor": "#000000",
                "pointTranslucency": 0,
                "pointSize": 3,
                "fontFillColor": "#000000",
                "fontFillTranslucency": 0,
                "fontSize": 7,
                "fontRotation": 0,
                "fontItalic": false,
                "fontBold": false,
                "fontUnderline": false,
                "strokeLinecap": "round",
                "strokeDashstyle": "solid",
                "pointerEvents": "visiblePainted",
                "cursor": "inherit",
                "fontFamily": "Verdana",
                "fontStrokeColor": "#000000",
                "fontStrokeWidth": 0,
                "fontStrokeOpacity": 0,
                "fontWeight": "500",
                "maskFontFillColor": "#FFFFFF",
                "maskFontFillOpacity": 0.3,
                "maskFontStrokeColor": "#FFFFFF",
                "maskFontStrokeWidth": "0.5ex",
                "maskFontStrokeOpacity": 0.5,
                "imageBoundsWidth": 0
            },
            "visible": true,
            "styles": [
                {
                    "styleCollectionType": 0,
                    "name": "Simple line style",
                    "type": 2,
                    "defaultsName": null,
                    "defaults": {
                        "boundsColor": "#000000",
                        "boundsTranslucency": 0,
                        "boundsWidth": 2,
                        "fillColor": "#aaaaaa",
                        "fillTranslucency": 0,
                        "lineColor": "#000000",
                        "lineTranslucency": 0,
                        "lineWidth": 2,
                        "pointColor": "#000000",
                        "pointTranslucency": 0,
                        "pointSize": 3,
                        "fontFillColor": "#000000",
                        "fontFillTranslucency": 0,
                        "fontSize": 7,
                        "fontRotation": 0,
                        "fontItalic": false,
                        "fontBold": false,
                        "fontUnderline": false,
                        "strokeLinecap": "round",
                        "strokeDashstyle": "solid",
                        "pointerEvents": "visiblePainted",
                        "cursor": "inherit",
                        "fontFamily": "Verdana",
                        "fontStrokeColor": "#000000",
                        "fontStrokeWidth": 0,
                        "fontStrokeOpacity": 0,
                        "fontWeight": "500",
                        "maskFontFillColor": "#FFFFFF",
                        "maskFontFillOpacity": 0.3,
                        "maskFontStrokeColor": "#FFFFFF",
                        "maskFontStrokeWidth": "0.5ex",
                        "maskFontStrokeOpacity": 0.5,
                        "imageBoundsWidth": 0
                    },
                    "visible": true,
                    "styles": [],
                    "color": "#000000",
                    "translucency": 0,
                    "width": 2,
                    "dasharray": ""
                }
            ]
        },
        {
            "styleCollectionType": 1,
            "name": "Point styles",
            "type": 0,
            "defaultsName": null,
            "defaults": {
                "boundsColor": "#000000",
                "boundsTranslucency": 0,
                "boundsWidth": 2,
                "fillColor": "#aaaaaa",
                "fillTranslucency": 0,
                "lineColor": "#000000",
                "lineTranslucency": 0,
                "lineWidth": 2,
                "pointColor": "#000000",
                "pointTranslucency": 0,
                "pointSize": 3,
                "fontFillColor": "#000000",
                "fontFillTranslucency": 0,
                "fontSize": 7,
                "fontRotation": 0,
                "fontItalic": false,
                "fontBold": false,
                "fontUnderline": false,
                "strokeLinecap": "round",
                "strokeDashstyle": "solid",
                "pointerEvents": "visiblePainted",
                "cursor": "inherit",
                "fontFamily": "Verdana",
                "fontStrokeColor": "#000000",
                "fontStrokeWidth": 0,
                "fontStrokeOpacity": 0,
                "fontWeight": "500",
                "maskFontFillColor": "#FFFFFF",
                "maskFontFillOpacity": 0.3,
                "maskFontStrokeColor": "#FFFFFF",
                "maskFontStrokeWidth": "0.5ex",
                "maskFontStrokeOpacity": 0.5,
                "imageBoundsWidth": 0
            },
            "visible": true,
            "styles": [
                {
                    "styleCollectionType": 0,
                    "name": "Simple point style",
                    "type": 1,
                    "defaultsName": null,
                    "defaults": {
                        "boundsColor": "#000000",
                        "boundsTranslucency": 0,
                        "boundsWidth": 2,
                        "fillColor": "#aaaaaa",
                        "fillTranslucency": 0,
                        "lineColor": "#000000",
                        "lineTranslucency": 0,
                        "lineWidth": 2,
                        "pointColor": "#000000",
                        "pointTranslucency": 0,
                        "pointSize": 3,
                        "fontFillColor": "#000000",
                        "fontFillTranslucency": 0,
                        "fontSize": 7,
                        "fontRotation": 0,
                        "fontItalic": false,
                        "fontBold": false,
                        "fontUnderline": false,
                        "strokeLinecap": "round",
                        "strokeDashstyle": "solid",
                        "pointerEvents": "visiblePainted",
                        "cursor": "inherit",
                        "fontFamily": "Verdana",
                        "fontStrokeColor": "#000000",
                        "fontStrokeWidth": 0,
                        "fontStrokeOpacity": 0,
                        "fontWeight": "500",
                        "maskFontFillColor": "#FFFFFF",
                        "maskFontFillOpacity": 0.3,
                        "maskFontStrokeColor": "#FFFFFF",
                        "maskFontStrokeWidth": "0.5ex",
                        "maskFontStrokeOpacity": 0.5,
                        "imageBoundsWidth": 0
                    },
                    "visible": true,
                    "subtype": 0,
                    "styles": [],
                    "color": "#000000",
                    "translucency": 0,
                    "size": 3,
                    "alignment": "cc",
                    "rotation": 0,
                    "imageWidth": 1,
                    "imageHeight": 1
                }
            ]
        },
        {
            "styleCollectionType": 6,
            "name": "Text styles",
            "type": 0,
            "defaultsName": null,
            "defaults": {
                "boundsColor": "#000000",
                "boundsTranslucency": 0,
                "boundsWidth": 2,
                "fillColor": "#aaaaaa",
                "fillTranslucency": 0,
                "lineColor": "#000000",
                "lineTranslucency": 0,
                "lineWidth": 2,
                "pointColor": "#000000",
                "pointTranslucency": 0,
                "pointSize": 3,
                "fontFillColor": "#000000",
                "fontFillTranslucency": 0,
                "fontSize": 7,
                "fontRotation": 0,
                "fontItalic": false,
                "fontBold": false,
                "fontUnderline": false,
                "strokeLinecap": "round",
                "strokeDashstyle": "solid",
                "pointerEvents": "visiblePainted",
                "cursor": "inherit",
                "fontFamily": "Verdana",
                "fontStrokeColor": "#000000",
                "fontStrokeWidth": 0,
                "fontStrokeOpacity": 0,
                "fontWeight": "500",
                "maskFontFillColor": "#FFFFFF",
                "maskFontFillOpacity": 0.3,
                "maskFontStrokeColor": "#FFFFFF",
                "maskFontStrokeWidth": "0.5ex",
                "maskFontStrokeOpacity": 0.5,
                "imageBoundsWidth": 0
            },
            "visible": true,
            "styles": [
                {
                    "styleCollectionType": 0,
                    "name": "Text style",
                    "type": 6,
                    "defaultsName": null,
                    "defaults": {
                        "boundsColor": "#000000",
                        "boundsTranslucency": 0,
                        "boundsWidth": 2,
                        "fillColor": "#aaaaaa",
                        "fillTranslucency": 0,
                        "lineColor": "#000000",
                        "lineTranslucency": 0,
                        "lineWidth": 2,
                        "pointColor": "#000000",
                        "pointTranslucency": 0,
                        "pointSize": 3,
                        "fontFillColor": "#000000",
                        "fontFillTranslucency": 0,
                        "fontSize": 7,
                        "fontRotation": 0,
                        "fontItalic": false,
                        "fontBold": false,
                        "fontUnderline": false,
                        "strokeLinecap": "round",
                        "strokeDashstyle": "solid",
                        "pointerEvents": "visiblePainted",
                        "cursor": "inherit",
                        "fontFamily": "Verdana",
                        "fontStrokeColor": "#000000",
                        "fontStrokeWidth": 0,
                        "fontStrokeOpacity": 0,
                        "fontWeight": "500",
                        "maskFontFillColor": "#FFFFFF",
                        "maskFontFillOpacity": 0.3,
                        "maskFontStrokeColor": "#FFFFFF",
                        "maskFontStrokeWidth": "0.5ex",
                        "maskFontStrokeOpacity": 0.5,
                        "imageBoundsWidth": 0
                    },
                    "visible": true,
                    "styles": [],
                    "color": "#000000",
                    "translucency": 0,
                    "size": 7,
                    "rotation": 0,
                    "bold": false,
                    "italic": false,
                    "underline": false
                }
            ]
        }
    ]
});

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.