Loading...
Searching...
No Matches
LocationWindowMapObjectsExample.java
Go to the documentation of this file.
1package com.navigine.examples;
2
3import com.navigine.idl.java.LocationWindow;
4import com.navigine.idl.java.CircleMapObject;
5import com.navigine.idl.java.IconMapObject;
6import com.navigine.idl.java.PolygonMapObject;
7import com.navigine.idl.java.PolylineMapObject;
8import com.navigine.idl.java.DottedPolylineMapObject;
9import com.navigine.idl.java.AnimationType;
10import com.navigine.idl.java.CapType;
11import com.navigine.idl.java.JoinType;
12import com.navigine.idl.java.LocationPoint;
13import com.navigine.idl.java.LocationPolygon;
14import com.navigine.idl.java.LocationPolyline;
15import com.navigine.idl.java.MapObjectType;
16import com.navigine.idl.java.Point;
17import com.navigine.idl.java.Polygon;
18import com.navigine.idl.java.Polyline;
19import com.navigine.idl.java.ImageWrapper;
20
21import java.util.ArrayList;
22import java.util.List;
23import java.util.Arrays;
24import java.util.HashMap;
25import java.util.Map;
26
34 private LocationWindow locationWindow;
35 private CircleMapObject circleMapObject;
36 private IconMapObject iconMapObject;
37 private PolygonMapObject polygonMapObject;
38 private PolylineMapObject polylineMapObject;
39 private DottedPolylineMapObject dottedPolylineMapObject;
40
42 demonstrateLocationWindowMapObjectsMethods();
43 }
44
48 private void demonstrateLocationWindowMapObjectsMethods() {
49 System.out.println("=== LocationWindowMapObjects Example ===");
50
51 demonstrateLocationScopedGeometryRecords();
52
53 demonstrateCircleMapObjects();
54 demonstrateIconMapObjects();
55 demonstratePolygonMapObjects();
56 demonstratePolylineMapObjects();
57 demonstrateDottedPolylineMapObjects();
58 demonstrateRemoveAllMapObjects();
59 cleanup();
60 }
61
65 private void demonstrateLocationScopedGeometryRecords() {
66 System.out.println("--- LocationPolygon / LocationPolyline records ---");
67
68 // [java_LocationPolygon_record]
69 List<Point> ring = Arrays.asList(
70 new Point(1.0, 2.0),
71 new Point(3.0, 4.0),
72 new Point(5.0, 2.0)
73 );
74 Polygon metricPolygon = new Polygon(ring);
75 LocationPolygon locationPolygon = new LocationPolygon(metricPolygon, 42, 7);
76 Polygon polygonBack = locationPolygon.getPolygon();
77 int polygonLocationId = locationPolygon.getLocationId();
78 int polygonSublocationId = locationPolygon.getSublocationId();
79 System.out.println("LocationPolygon: location " + polygonLocationId + ", sublocation "
80 + polygonSublocationId + ", vertices " + polygonBack.getPoints().size());
81 // [java_LocationPolygon_record]
82
83 // [java_LocationPolyline_record]
84 List<Point> linePoints = Arrays.asList(new Point(0.0, 0.0), new Point(10.0, 10.0));
85 Polyline metricPolyline = new Polyline(linePoints);
86 LocationPolyline locationPolyline = new LocationPolyline(metricPolyline, 42, 7);
87 Polyline polylineBack = locationPolyline.getPolyline();
88 System.out.println("LocationPolyline: points " + polylineBack.getPoints().size());
89 // [java_LocationPolyline_record]
90 }
91
95 private void demonstrateCircleMapObjects() {
96 System.out.println("--- Circle Map Objects ---");
97
98 if (locationWindow == null) {
99 System.out.println("LocationWindow not available yet");
100 return;
101 }
102
103 // [java_CircleMapObject_constructor]
104 // Create circle map object
105 LocationPoint center = new LocationPoint(10.0, 20.0);
106 circleMapObject = locationWindow.addCircleMapObject();
107 System.out.println("Created circle map object with center (" + center.getX() + ", " + center.getY() + ") and radius 5.0");
108 // [java_CircleMapObject_constructor]
109
110 // [java_CircleMapObject_getCenter]
111 // Access circle center
112 LocationPoint circleCenter = circleMapObject.getPosition();
113 System.out.println("Circle center: (" + circleCenter.getX() + ", " + circleCenter.getY() + ")");
114 // [java_CircleMapObject_getCenter]
115
116 // [java_CircleMapObject_getRadius]
117 // Access circle radius
118 double radius = circleMapObject.getRadius();
119 System.out.println("Circle radius: " + radius);
120 // [java_CircleMapObject_getRadius]
121
122 // [java_LocationWindow_addCircleMapObject]
123 // Add circle map object
124 circleMapObject = locationWindow.addCircleMapObject();
125 System.out.println("Added circle map object");
126 // [java_LocationWindow_addCircleMapObject]
127
128 if (circleMapObject != null) {
129 // [java_CircleMapObject_setPosition]
130 // Set circle position
131 LocationPoint centerPoint = new LocationPoint(100.0, 200.0);
132 boolean success = circleMapObject.setPosition(centerPoint);
133 System.out.println("Set circle position to (" + centerPoint.getX() + ", " + centerPoint.getY() + "): " + success);
134 // [java_CircleMapObject_setPosition]
135
136 // [java_CircleMapObject_setPositionAnimated]
137 // Set circle position with animation
138 LocationPoint animatedPoint = new LocationPoint(150.0, 250.0);
139 boolean animatedSuccess = circleMapObject.setPositionAnimated(animatedPoint, 2.0, AnimationType.LINEAR);
140 System.out.println("Set circle position with animation to (" + animatedPoint.getX() + ", " + animatedPoint.getY() + "): " + animatedSuccess);
141 // [java_CircleMapObject_setPositionAnimated]
142
143 // [java_CircleMapObject_setRadius]
144 // Set circle radius
145 boolean radiusSuccess = circleMapObject.setRadius(10.0);
146 System.out.println("Set circle radius to 10.0 meters: " + radiusSuccess);
147 // [java_CircleMapObject_setRadius]
148
149 // [java_CircleMapObject_setCollisionEnabled]
150 // Enable collision detection
151 boolean collisionSuccess = circleMapObject.setCollisionEnabled(true);
152 System.out.println("Enabled collision detection for circle: " + collisionSuccess);
153 // [java_CircleMapObject_setCollisionEnabled]
154
155 // [java_CircleMapObject_setBuffer]
156 // Set collision buffer
157 boolean bufferSuccess = circleMapObject.setBuffer(5.0, 5.0);
158 System.out.println("Set collision buffer to 5x5 pixels: " + bufferSuccess);
159 // [java_CircleMapObject_setBuffer]
160
161 // [java_CircleMapObject_setOffset]
162 // Set position offset
163 boolean offsetSuccess = circleMapObject.setOffset(2.0, 3.0);
164 System.out.println("Set position offset to (2.0, 3.0) pixels: " + offsetSuccess);
165 // [java_CircleMapObject_setOffset]
166
167 // [java_CircleMapObject_setOutlineColor]
168 // Set outline color
169 boolean outlineColorSuccess = circleMapObject.setOutlineColor(0.0, 0.0, 1.0, 1.0);
170 System.out.println("Set circle outline color to blue: " + outlineColorSuccess);
171 // [java_CircleMapObject_setOutlineColor]
172
173 // [java_CircleMapObject_setOutlineAlpha]
174 // Set outline alpha
175 boolean outlineAlphaSuccess = circleMapObject.setOutlineAlpha(0.5);
176 System.out.println("Set circle outline alpha to 0.5: " + outlineAlphaSuccess);
177 // [java_CircleMapObject_setOutlineAlpha]
178
179 // [java_CircleMapObject_setOutlineRadius]
180 // Set outline radius
181 boolean outlineRadiusSuccess = circleMapObject.setOutlineRadius(2.0);
182 System.out.println("Set circle outline radius to 2.0: " + outlineRadiusSuccess);
183 // [java_CircleMapObject_setOutlineRadius]
184
185 // [java_CircleMapObject_setColor]
186 // Set circle color
187 boolean colorSuccess = circleMapObject.setColor(1.0, 0.0, 0.0, 0.8);
188 System.out.println("Set circle color to red with 80% opacity: " + colorSuccess);
189 // [java_CircleMapObject_setColor]
190
191 // [java_CircleMapObject_setPriority]
192 // Set rendering priority
193 boolean prioritySuccess = circleMapObject.setPriority(1);
194 System.out.println("Set rendering priority to 1: " + prioritySuccess);
195 // [java_CircleMapObject_setPriority]
196
197 // [java_MapObject_setVisible]
198 // Set visibility
199 boolean visibleSuccess = circleMapObject.setVisible(true);
200 System.out.println("Set circle visibility to true: " + visibleSuccess);
201 // [java_MapObject_setVisible]
202
203 // [java_CircleMapObject_getMapObjectType]
204 // Get map object type
205 MapObjectType objectType = circleMapObject.getMapObjectType();
206 System.out.println("Circle map object type: " + objectType);
207 // [java_CircleMapObject_getMapObjectType]
208
209 // [java_MapObject_setAlpha]
210 // Set alpha transparency
211 boolean alphaSuccess = circleMapObject.setAlpha(0.7);
212 System.out.println("Set circle alpha to 0.7: " + alphaSuccess);
213 // [java_MapObject_setAlpha]
214
215 // [java_MapObject_setInteractive]
216 // Set interactive mode
217 boolean interactiveSuccess = circleMapObject.setInteractive(true);
218 System.out.println("Set circle interactive to true: " + interactiveSuccess);
219 // [java_MapObject_setInteractive]
220
221 // [java_MapObject_setTitle]
222 // Set title
223 boolean titleSuccess = circleMapObject.setTitle("Circle Object");
224 System.out.println("Set circle title to 'Circle Object': " + titleSuccess);
225 // [java_MapObject_setTitle]
226
227 // [java_MapObject_setData]
228 // Set custom data
229 Map<String, String> customData = new HashMap<>();
230 customData.put("key", "value");
231 customData.put("number", "42");
232 boolean dataSuccess = circleMapObject.setData(customData);
233 System.out.println("Set circle custom data: " + dataSuccess);
234 // [java_MapObject_setData]
235
236 // [java_MapObject_getId]
237 // Get object ID
238 int objectId = circleMapObject.getId();
239 System.out.println("Circle object ID: " + objectId);
240 // [java_MapObject_getId]
241
242 // [java_MapObject_getType]
243 // Get object type
244 String objectTypeString = circleMapObject.getType();
245 System.out.println("Circle object type: " + objectTypeString);
246 // [java_MapObject_getType]
247
248 // [java_MapObject_getData]
249 // Get custom data
250 Map<String, String> retrievedData = circleMapObject.getData();
251 System.out.println("Circle custom data: " + retrievedData);
252 // [java_MapObject_getData]
253 }
254
255 // [java_LocationWindow_removeCircleMapObject]
256 // Remove circle map object
257 if (circleMapObject != null) {
258 boolean removed = locationWindow.removeCircleMapObject(circleMapObject);
259 System.out.println("Removed circle map object: " + removed);
260 circleMapObject = null;
261 }
262 // [java_LocationWindow_removeCircleMapObject]
263
264 // Test multiple circle objects
265 List<CircleMapObject> circles = new ArrayList<>();
266 for (int i = 0; i < 3; i++) {
267 CircleMapObject circle = locationWindow.addCircleMapObject();
268 if (circle != null) {
269 circle.setPosition(new LocationPoint(50.0 * i, 100.0 * i));
270 circle.setColor(0.0, 1.0, 0.0, 0.6);
271 circle.setRadius(5.0 + i * 2.0);
272 circles.add(circle);
273 System.out.println("Created circle " + i + " at (" + (50.0 * i) + ", " + (100.0 * i) + ") with radius " + (5.0 + i * 2.0));
274 }
275 }
276
277 for (int i = 0; i < circles.size(); i++) {
278 locationWindow.removeCircleMapObject(circles.get(i));
279 System.out.println("Removed circle " + i);
280 }
281 }
282
286 private void demonstrateIconMapObjects() {
287 System.out.println("--- Icon Map Objects ---");
288
289 if (locationWindow == null) {
290 System.out.println("LocationWindow not available yet");
291 return;
292 }
293
294 // [java_IconMapObject_constructor]
295 // Create icon map object
296 LocationPoint position = new LocationPoint(30.0, 40.0);
297 iconMapObject = locationWindow.addIconMapObject();
298 System.out.println("Created icon map object at (" + position.getX() + ", " + position.getY() + ")");
299 // [java_IconMapObject_constructor]
300
301 // [java_IconMapObject_getPosition]
302 // Access icon position
303 LocationPoint iconPosition = iconMapObject.getPosition();
304 System.out.println("Icon position: (" + iconPosition.getX() + ", " + iconPosition.getY() + ")");
305 // [java_IconMapObject_getPosition]
306
307 // [java_LocationWindow_addIconMapObject]
308 // Add icon map object
309 iconMapObject = locationWindow.addIconMapObject();
310 System.out.println("Added icon map object");
311 // [java_LocationWindow_addIconMapObject]
312
313 if (iconMapObject != null) {
314 // [java_IconMapObject_setPosition]
315 // Set icon position
316 LocationPoint iconPoint = new LocationPoint(200.0, 300.0);
317 boolean success = iconMapObject.setPosition(iconPoint);
318 System.out.println("Set icon position to (" + iconPoint.getX() + ", " + iconPoint.getY() + "): " + success);
319 // [java_IconMapObject_setPosition]
320
321 // [java_IconMapObject_setPositionAnimated]
322 // Set icon position with animation
323 LocationPoint animatedIconPoint = new LocationPoint(250.0, 350.0);
324 boolean animatedSuccess = iconMapObject.setPositionAnimated(animatedIconPoint, 1.5, AnimationType.CUBIC);
325 System.out.println("Set icon position with animation to (" + animatedIconPoint.getX() + ", " + animatedIconPoint.getY() + "): " + animatedSuccess);
326 // [java_IconMapObject_setPositionAnimated]
327
328 // [java_IconMapObject_setSize]
329 // Set icon size
330 boolean sizeSuccess = iconMapObject.setSize(32.0, 32.0);
331 System.out.println("Set icon size to 32x32 pixels: " + sizeSuccess);
332 // [java_IconMapObject_setSize]
333
334 // [java_IconMapObject_setAngle]
335 // Set icon rotation angle
336 boolean angleSuccess = iconMapObject.setAngle(45.0);
337 System.out.println("Set icon rotation angle to 45 degrees: " + angleSuccess);
338 // [java_IconMapObject_setAngle]
339
340 // [java_IconMapObject_setAngleAnimated]
341 // Set icon rotation with animation
342 boolean angleAnimatedSuccess = iconMapObject.setAngleAnimated(90.0, 2.0, AnimationType.SINE);
343 System.out.println("Set icon rotation with animation to 90 degrees: " + angleAnimatedSuccess);
344 // [java_IconMapObject_setAngleAnimated]
345
346 // [java_IconMapObject_setCollisionEnabled]
347 // Enable collision detection
348 boolean collisionSuccess = iconMapObject.setCollisionEnabled(true);
349 System.out.println("Enabled collision detection for icon: " + collisionSuccess);
350 // [java_IconMapObject_setCollisionEnabled]
351
352 // [java_IconMapObject_setBuffer]
353 // Set collision buffer
354 boolean bufferSuccess = iconMapObject.setBuffer(10.0, 10.0);
355 System.out.println("Set collision buffer to 10x10 pixels: " + bufferSuccess);
356 // [java_IconMapObject_setBuffer]
357
358 // [java_IconMapObject_setOffset]
359 // Set position offset
360 boolean offsetSuccess = iconMapObject.setOffset(0.0, -16.0);
361 System.out.println("Set position offset to (0.0, -16.0) pixels: " + offsetSuccess);
362 // [java_IconMapObject_setOffset]
363
364 // [java_IconMapObject_setPriority]
365 // Set rendering priority
366 boolean prioritySuccess = iconMapObject.setPriority(2);
367 System.out.println("Set rendering priority to 2: " + prioritySuccess);
368 // [java_IconMapObject_setPriority]
369
370 // [java_IconMapObject_setVisible]
371 // Set visibility
372 boolean visibleSuccess = iconMapObject.setVisible(true);
373 System.out.println("Set icon visibility to true: " + visibleSuccess);
374 // [java_IconMapObject_setVisible]
375
376 // [java_IconMapObject_getMapObjectType]
377 // Get map object type
378 MapObjectType objectType = iconMapObject.getMapObjectType();
379 System.out.println("Icon map object type: " + objectType);
380 // [java_IconMapObject_getMapObjectType]
381
382 // [java_IconMapObject_setIcon]
383 // Set icon image
384 boolean iconSuccess = iconMapObject.setIcon("path/to/icon.png");
385 System.out.println("Set icon image: " + iconSuccess);
386 // [java_IconMapObject_setIcon]
387
388 // [java_IconMapObject_setBitmap]
389 // Set icon bitmap
390 boolean bitmapSuccess = iconMapObject.setBitmap("path/to/bitmap.png");
391 System.out.println("Set icon bitmap: " + bitmapSuccess);
392 // [java_IconMapObject_setBitmap]
393
394 // [java_IconMapObject_setFlat]
395 // Set icon flat mode
396 boolean flatSuccess = iconMapObject.setFlat(true);
397 System.out.println("Set icon flat mode to true: " + flatSuccess);
398 // [java_IconMapObject_setFlat]
399
400 // [java_IconMapObject_setPlacement]
401 // Set icon placement
402 boolean placementSuccess = iconMapObject.setPlacement(Placement.CENTER);
403 System.out.println("Set icon placement to CENTER: " + placementSuccess);
404 // [java_IconMapObject_setPlacement]
405
406 // [java_MapObject_setAlpha_1]
407 // Set alpha transparency
408 boolean alphaSuccess = iconMapObject.setAlpha(0.8);
409 System.out.println("Set icon alpha to 0.8: " + alphaSuccess);
410 // [java_MapObject_setAlpha_1]
411
412 // [java_MapObject_setInteractive_1]
413 // Set interactive mode
414 boolean interactiveSuccess = iconMapObject.setInteractive(true);
415 System.out.println("Set icon interactive to true: " + interactiveSuccess);
416 // [java_MapObject_setInteractive_1]
417
418 // [java_MapObject_setTitle_1]
419 // Set title
420 boolean titleSuccess = iconMapObject.setTitle("Icon Object");
421 System.out.println("Set icon title to 'Icon Object': " + titleSuccess);
422 // [java_MapObject_setTitle_1]
423
424 // [java_MapObject_setData_1]
425 // Set custom data
426 Map<String, Object> customData = new HashMap<>();
427 customData.put("key", "value");
428 customData.put("number", 42);
429 boolean dataSuccess = iconMapObject.setData(customData);
430 System.out.println("Set icon custom data: " + dataSuccess);
431 // [java_MapObject_setData_1]
432
433 // [java_MapObject_getId_1]
434 // Get object ID
435 int objectId = iconMapObject.getId();
436 System.out.println("Icon object ID: " + objectId);
437 // [java_MapObject_getId_1]
438
439 // [java_MapObject_getType_1]
440 // Get object type
441 String objectTypeString = iconMapObject.getType();
442 System.out.println("Icon object type: " + objectTypeString);
443 // [java_MapObject_getType_1]
444
445 // [java_MapObject_getData_1]
446 // Get custom data
447 Map<String, Object> retrievedData = iconMapObject.getData();
448 System.out.println("Icon custom data: " + retrievedData);
449 // [java_MapObject_getData_1]
450 }
451
452 // [java_LocationWindow_removeIconMapObject]
453 // Remove icon map object
454 if (iconMapObject != null) {
455 boolean removed = locationWindow.removeIconMapObject(iconMapObject);
456 System.out.println("Removed icon map object: " + removed);
457 iconMapObject = null;
458 }
459 // [java_LocationWindow_removeIconMapObject]
460
461 // Test multiple icon objects
462 List<IconMapObject> icons = new ArrayList<>();
463 for (int i = 0; i < 3; i++) {
464 IconMapObject icon = locationWindow.addIconMapObject();
465 if (icon != null) {
466 icon.setPosition(new LocationPoint(100.0 * i, 150.0 * i));
467 icon.setSize(24.0, 24.0);
468 icon.setAngle(i * 30.0);
469 icons.add(icon);
470 System.out.println("Created icon " + i + " at (" + (100.0 * i) + ", " + (150.0 * i) + ") with angle " + (i * 30.0));
471 }
472 }
473
474 for (int i = 0; i < icons.size(); i++) {
475 locationWindow.removeIconMapObject(icons.get(i));
476 System.out.println("Removed icon " + i);
477 }
478 }
479
483 private void demonstratePolygonMapObjects() {
484 System.out.println("--- Polygon Map Objects ---");
485
486 if (locationWindow == null) {
487 System.out.println("LocationWindow not available yet");
488 return;
489 }
490
491 // [java_LocationWindow_addPolygonMapObject]
492 // Add polygon map object
493 polygonMapObject = locationWindow.addPolygonMapObject();
494 System.out.println("Added polygon map object");
495 // [java_LocationWindow_addPolygonMapObject]
496
497 if (polygonMapObject != null) {
498 // [java_PolygonMapObject_setPolygon]
499 // Set polygon geometry
500 List<Point> points = Arrays.asList(
501 new Point(100.0, 200.0),
502 new Point(150.0, 250.0),
503 new Point(200.0, 200.0),
504 new Point(150.0, 150.0)
505 );
506 Polygon metricPolygon = new Polygon(points);
507 LocationPolygon polygon = new LocationPolygon(metricPolygon, 1, 0);
508 boolean success = polygonMapObject.setPolygon(polygon);
509 System.out.println("Set polygon with " + points.size() + " points: " + success);
510 // [java_PolygonMapObject_setPolygon]
511
512 // [java_PolygonMapObject_setColor]
513 // Set polygon color
514 boolean colorSuccess = polygonMapObject.setColor(0.0, 1.0, 0.0, 0.7);
515 System.out.println("Set polygon color to green with 70% opacity: " + colorSuccess);
516 // [java_PolygonMapObject_setColor]
517
518 // [java_PolygonMapObject_setVisible]
519 // Set visibility
520 boolean visibleSuccess = polygonMapObject.setVisible(true);
521 System.out.println("Set polygon visibility to true: " + visibleSuccess);
522 // [java_PolygonMapObject_setVisible]
523
524 // [java_PolygonMapObject_getMapObjectType]
525 // Get map object type
526 MapObjectType objectType = polygonMapObject.getMapObjectType();
527 System.out.println("Polygon map object type: " + objectType);
528 // [java_PolygonMapObject_getMapObjectType]
529
530 // [java_PolygonMapObject_setOrder]
531 // Set polygon rendering order
532 boolean orderSuccess = polygonMapObject.setOrder(2);
533 System.out.println("Set polygon rendering order to 2: " + orderSuccess);
534 // [java_PolygonMapObject_setOrder]
535
536 // [java_PolygonMapObject_setOutlineColor]
537 // Set polygon outline color
538 boolean outlineColorSuccess = polygonMapObject.setOutlineColor(0.0, 0.0, 1.0, 1.0);
539 System.out.println("Set polygon outline color to blue: " + outlineColorSuccess);
540 // [java_PolygonMapObject_setOutlineColor]
541
542 // [java_PolygonMapObject_setOutlineWidth]
543 // Set polygon outline width
544 boolean outlineWidthSuccess = polygonMapObject.setOutlineWidth(2.0);
545 System.out.println("Set polygon outline width to 2.0 pixels: " + outlineWidthSuccess);
546 // [java_PolygonMapObject_setOutlineWidth]
547
548 // [java_PolygonMapObject_setOutlineAlpha]
549 // Set polygon outline alpha
550 boolean outlineAlphaSuccess = polygonMapObject.setOutlineAlpha(0.8);
551 System.out.println("Set polygon outline alpha to 0.8: " + outlineAlphaSuccess);
552 // [java_PolygonMapObject_setOutlineAlpha]
553
554 // [java_PolygonMapObject_setOutlineOrder]
555 // Set polygon outline order
556 boolean outlineOrderSuccess = polygonMapObject.setOutlineOrder(1);
557 System.out.println("Set polygon outline order to 1: " + outlineOrderSuccess);
558 // [java_PolygonMapObject_setOutlineOrder]
559
560 // [java_MapObject_setAlpha_2]
561 // Set alpha transparency
562 boolean alphaSuccess = polygonMapObject.setAlpha(0.7);
563 System.out.println("Set polygon alpha to 0.7: " + alphaSuccess);
564 // [java_MapObject_setAlpha_2]
565
566 // [java_MapObject_setInteractive_2]
567 // Set interactive mode
568 boolean interactiveSuccess = polygonMapObject.setInteractive(true);
569 System.out.println("Set polygon interactive to true: " + interactiveSuccess);
570 // [java_MapObject_setInteractive_2]
571
572 // [java_MapObject_setTitle_2]
573 // Set title
574 boolean titleSuccess = polygonMapObject.setTitle("Polygon Object");
575 System.out.println("Set polygon title to 'Polygon Object': " + titleSuccess);
576 // [java_MapObject_setTitle_2]
577
578 // [java_MapObject_setData_2]
579 // Set custom data
580 Map<String, Object> customData = new HashMap<>();
581 customData.put("key", "value");
582 customData.put("number", 42);
583 boolean dataSuccess = polygonMapObject.setData(customData);
584 System.out.println("Set polygon custom data: " + dataSuccess);
585 // [java_MapObject_setData_2]
586
587 // [java_MapObject_getId_2]
588 // Get object ID
589 int objectId = polygonMapObject.getId();
590 System.out.println("Polygon object ID: " + objectId);
591 // [java_MapObject_getId_2]
592
593 // [java_MapObject_getType_2]
594 // Get object type
595 String objectTypeString = polygonMapObject.getType();
596 System.out.println("Polygon object type: " + objectTypeString);
597 // [java_MapObject_getType_2]
598
599 // [java_MapObject_getData_2]
600 // Get custom data
601 Map<String, Object> retrievedData = polygonMapObject.getData();
602 System.out.println("Polygon custom data: " + retrievedData);
603 // [java_MapObject_getData_2]
604 }
605
606 // [java_LocationWindow_removePolygonMapObject]
607 // Remove polygon map object
608 if (polygonMapObject != null) {
609 boolean removed = locationWindow.removePolygonMapObject(polygonMapObject);
610 System.out.println("Removed polygon map object: " + removed);
611 polygonMapObject = null;
612 }
613 // [java_LocationWindow_removePolygonMapObject]
614
615 // Test multiple polygon objects
616 List<PolygonMapObject> polygons = new ArrayList<>();
617 for (int i = 0; i < 3; i++) {
618 PolygonMapObject polygon = locationWindow.addPolygonMapObject();
619 if (polygon != null) {
620 List<Point> points = Arrays.asList(
621 new Point(300.0 + i * 50, 400.0 + i * 50),
622 new Point(350.0 + i * 50, 450.0 + i * 50),
623 new Point(400.0 + i * 50, 400.0 + i * 50),
624 new Point(350.0 + i * 50, 350.0 + i * 50)
625 );
626 Polygon metricPoly = new Polygon(points);
627 LocationPolygon polygonGeometry = new LocationPolygon(metricPoly, 1, 0);
628 polygon.setPolygon(polygonGeometry);
629 polygon.setColor(0.0, 0.0, 1.0, 0.5);
630 polygons.add(polygon);
631 System.out.println("Created polygon " + i + " with " + points.size() + " points");
632 }
633 }
634
635 for (int i = 0; i < polygons.size(); i++) {
636 locationWindow.removePolygonMapObject(polygons.get(i));
637 System.out.println("Removed polygon " + i);
638 }
639 }
640
644 private void demonstratePolylineMapObjects() {
645 System.out.println("--- Polyline Map Objects ---");
646
647 if (locationWindow == null) {
648 System.out.println("LocationWindow not available yet");
649 return;
650 }
651
652 // [java_PolylineMapObject_constructor]
653 // Create polyline map object
654 List<Point> points = new ArrayList<>();
655 points.add(new Point(100.0, 110.0));
656 points.add(new Point(105.0, 115.0));
657 points.add(new Point(110.0, 120.0));
658 points.add(new Point(115.0, 125.0));
659 Polyline polyline = new Polyline(points);
660 LocationPolyline locationPolyline = new LocationPolyline(polyline, 1, 0);
661 polylineMapObject = locationWindow.addPolylineMapObject();
662 System.out.println("Created polyline map object with " + points.size() + " points");
663 // [java_PolylineMapObject_constructor]
664
665 // [java_PolylineMapObject_getPolyline]
666 // Access polyline
667 LocationPolyline polylineShape = polylineMapObject.getPolyLine();
668 System.out.println("Polyline has " + polylineShape.getPolyline().getPoints().size() + " points");
669 // [java_PolylineMapObject_getPolyline]
670
671 // [java_LocationWindow_addPolylineMapObject]
672 // Add polyline map object
673 polylineMapObject = locationWindow.addPolylineMapObject();
674 System.out.println("Added polyline map object");
675 // [java_LocationWindow_addPolylineMapObject]
676
677 if (polylineMapObject != null) {
678 // [java_PolylineMapObject_setPolyLine]
679 // Set polyline geometry
680 List<Point> polylinePoints = new ArrayList<>();
681 polylinePoints.add(new Point(0.0, 0.0));
682 polylinePoints.add(new Point(50.0, 50.0));
683 polylinePoints.add(new Point(100.0, 0.0));
684 polylinePoints.add(new Point(150.0, 50.0));
685 Polyline polyline = new Polyline(polylinePoints);
686 LocationPolyline locationPolyline = new LocationPolyline(polyline, 1, 0);
687 boolean success = polylineMapObject.setPolyLine(locationPolyline);
688 System.out.println("Set polyline geometry: " + success);
689 // [java_PolylineMapObject_setPolyLine]
690
691 // [java_PolylineMapObject_setWidth]
692 // Set polyline width
693 boolean widthSuccess = polylineMapObject.setWidth(3.0);
694 System.out.println("Set polyline width to 3.0 pixels: " + widthSuccess);
695 // [java_PolylineMapObject_setWidth]
696
697 // [java_PolylineMapObject_setColor]
698 // Set polyline color
699 boolean colorSuccess = polylineMapObject.setColor(1.0, 0.5, 0.0, 0.9);
700 System.out.println("Set polyline color to orange with 90% opacity: " + colorSuccess);
701 // [java_PolylineMapObject_setColor]
702
703 // [java_PolylineMapObject_setOrder]
704 // Set rendering order
705 boolean orderSuccess = polylineMapObject.setOrder(2);
706 System.out.println("Set rendering order to 2: " + orderSuccess);
707 // [java_PolylineMapObject_setOrder]
708
709 // [java_PolylineMapObject_setCapType]
710 // Set cap type
711 boolean capSuccess = polylineMapObject.setCapType(CapType.ROUND);
712 System.out.println("Set cap type to ROUND: " + capSuccess);
713 // [java_PolylineMapObject_setCapType]
714
715 // [java_PolylineMapObject_setJoinType]
716 // Set join type
717 boolean joinSuccess = polylineMapObject.setJoinType(JoinType.ROUND);
718 System.out.println("Set join type to ROUND: " + joinSuccess);
719 // [java_PolylineMapObject_setJoinType]
720
721 // [java_PolylineMapObject_setMiterLimit]
722 // Set miter limit
723 boolean miterSuccess = polylineMapObject.setMiterLimit(5.0);
724 System.out.println("Set miter limit to 5.0: " + miterSuccess);
725 // [java_PolylineMapObject_setMiterLimit]
726
727 // [java_PolylineMapObject_setVisible]
728 // Set visibility
729 boolean visibleSuccess = polylineMapObject.setVisible(true);
730 System.out.println("Set polyline visibility to true: " + visibleSuccess);
731 // [java_PolylineMapObject_setVisible]
732
733 // [java_PolylineMapObject_getMapObjectType]
734 // Get map object type
735 MapObjectType objectType = polylineMapObject.getMapObjectType();
736 System.out.println("Polyline map object type: " + objectType);
737 // [java_PolylineMapObject_getMapObjectType]
738
739 // [java_MapObject_setAlpha_3]
740 // Set alpha transparency
741 boolean alphaSuccess = polylineMapObject.setAlpha(0.7);
742 System.out.println("Set polyline alpha to 0.7: " + alphaSuccess);
743 // [java_MapObject_setAlpha_3]
744
745 // [java_MapObject_setInteractive_3]
746 // Set interactive mode
747 boolean interactiveSuccess = polylineMapObject.setInteractive(true);
748 System.out.println("Set polyline interactive to true: " + interactiveSuccess);
749 // [java_MapObject_setInteractive_3]
750
751 // [java_MapObject_setTitle_3]
752 // Set title
753 boolean titleSuccess = polylineMapObject.setTitle("Polyline Object");
754 System.out.println("Set polyline title to 'Polyline Object': " + titleSuccess);
755 // [java_MapObject_setTitle_3]
756
757 // [java_MapObject_setData_3]
758 // Set custom data
759 Map<String, Object> customData = new HashMap<>();
760 customData.put("key", "value");
761 customData.put("number", 42);
762 boolean dataSuccess = polylineMapObject.setData(customData);
763 System.out.println("Set polyline custom data: " + dataSuccess);
764 // [java_MapObject_setData_3]
765
766 // [java_MapObject_getId_3]
767 // Get object ID
768 int objectId = polylineMapObject.getId();
769 System.out.println("Polyline object ID: " + objectId);
770 // [java_MapObject_getId_3]
771
772 // [java_MapObject_getType_3]
773 // Get object type
774 String objectTypeString = polylineMapObject.getType();
775 System.out.println("Polyline object type: " + objectTypeString);
776 // [java_MapObject_getType_3]
777
778 // [java_MapObject_getData_3]
779 // Get custom data
780 Map<String, Object> retrievedData = polylineMapObject.getData();
781 System.out.println("Polyline custom data: " + retrievedData);
782 // [java_MapObject_getData_3]
783
784 // [java_PolylineMapObject_setOutlineWidth]
785 // Set polyline outline width
786 boolean outlineWidthSuccess2 = polylineMapObject.setOutlineWidth(1.0);
787 System.out.println("Set polyline outline width to 1.0 pixels: " + outlineWidthSuccess2);
788 // [java_PolylineMapObject_setOutlineWidth]
789
790 // [java_PolylineMapObject_setOutlineColor]
791 // Set polyline outline color
792 boolean outlineColorSuccess2 = polylineMapObject.setOutlineColor(0.0, 0.0, 0.0, 1.0);
793 System.out.println("Set polyline outline color to black: " + outlineColorSuccess2);
794 // [java_PolylineMapObject_setOutlineColor]
795
796 // [java_PolylineMapObject_setOutlineAlpha]
797 // Set polyline outline alpha
798 boolean outlineAlphaSuccess2 = polylineMapObject.setOutlineAlpha(0.5);
799 System.out.println("Set polyline outline alpha to 0.5: " + outlineAlphaSuccess2);
800 // [java_PolylineMapObject_setOutlineAlpha]
801
802 // [java_PolylineMapObject_setOutlineOrder]
803 // Set polyline outline rendering order
804 boolean outlineOrderSuccess2 = polylineMapObject.setOutlineOrder(0);
805 System.out.println("Set polyline outline rendering order to 0: " + outlineOrderSuccess2);
806 // [java_PolylineMapObject_setOutlineOrder]
807
808 // [java_PolylineMapObject_setOutlineCapType]
809 // Set polyline outline cap type
810 boolean outlineCapTypeSuccess2 = polylineMapObject.setOutlineCapType(CapType.SQUARE);
811 System.out.println("Set polyline outline cap type to SQUARE: " + outlineCapTypeSuccess2);
812 // [java_PolylineMapObject_setOutlineCapType]
813
814 // [java_PolylineMapObject_setOutlineJoinType]
815 // Set polyline outline join type
816 boolean outlineJoinTypeSuccess2 = polylineMapObject.setOutlineJoinType(JoinType.MITER);
817 System.out.println("Set polyline outline join type to MITER: " + outlineJoinTypeSuccess2);
818 // [java_PolylineMapObject_setOutlineJoinType]
819
820 // [java_PolylineMapObject_setOutlineMiterLimit]
821 // Set polyline outline miter limit
822 boolean outlineMiterLimitSuccess2 = polylineMapObject.setOutlineMiterLimit(3.0);
823 System.out.println("Set polyline outline miter limit to 3.0: " + outlineMiterLimitSuccess2);
824 // [java_PolylineMapObject_setOutlineMiterLimit]
825 }
826
827 // [java_LocationWindow_removePolylineMapObject]
828 // Remove polyline map object
829 if (polylineMapObject != null) {
830 boolean removed = locationWindow.removePolylineMapObject(polylineMapObject);
831 System.out.println("Removed polyline map object: " + removed);
832 polylineMapObject = null;
833 }
834 // [java_LocationWindow_removePolylineMapObject]
835
836 // Test multiple polyline objects
837 List<PolylineMapObject> polylines = new ArrayList<>();
838 for (int i = 0; i < 3; i++) {
839 PolylineMapObject polyline = locationWindow.addPolylineMapObject();
840 if (polyline != null) {
841 List<Point> points = new ArrayList<>();
842 points.add(new Point(i * 30.0, i * 30.0));
843 points.add(new Point((i + 1) * 30.0, (i + 1) * 30.0));
844 Polyline poly = new Polyline(points);
845 LocationPolyline locPoly = new LocationPolyline(poly, 1, 0);
846 polyline.setPolyLine(locPoly);
847 polyline.setWidth(2.0 + i);
848 polyline.setColor(0.0, 1.0, 1.0, 0.8);
849 polylines.add(polyline);
850 System.out.println("Created polyline " + i + " with width " + (2.0 + i));
851 }
852 }
853
854 for (int i = 0; i < polylines.size(); i++) {
855 locationWindow.removePolylineMapObject(polylines.get(i));
856 System.out.println("Removed polyline " + i);
857 }
858 }
859
863 private void demonstrateDottedPolylineMapObjects() {
864 System.out.println("--- Dotted Polyline Map Objects ---");
865
866 if (locationWindow == null) {
867 System.out.println("LocationWindow not available yet");
868 return;
869 }
870
871 // [java_DottedPolylineMapObject_constructor]
872 // Create dotted polyline map object
873 List<Point> points = new ArrayList<>();
874 points.add(new Point(160.0, 170.0));
875 points.add(new Point(165.0, 175.0));
876 points.add(new Point(170.0, 180.0));
877 points.add(new Point(175.0, 185.0));
878 Polyline polyline = new Polyline(points);
879 LocationPolyline locationPolyline = new LocationPolyline(polyline, 1, 0);
880 dottedPolylineMapObject = locationWindow.addDottedPolylineMapObject();
881 System.out.println("Created dotted polyline map object with " + points.size() + " points");
882 // [java_DottedPolylineMapObject_constructor]
883
884 // [java_DottedPolylineMapObject_getPolyline]
885 // Access dotted polyline
886 LocationPolyline dottedPolylineShape = dottedPolylineMapObject.getPolyLine();
887 System.out.println("Dotted polyline has " + dottedPolylineShape.getPolyline().getPoints().size() + " points");
888 // [java_DottedPolylineMapObject_getPolyline]
889
890 // [java_LocationWindow_addDottedPolylineMapObject]
891 // Add dotted polyline map object
892 dottedPolylineMapObject = locationWindow.addDottedPolylineMapObject();
893 System.out.println("Added dotted polyline map object");
894 // [java_LocationWindow_addDottedPolylineMapObject]
895
896 if (dottedPolylineMapObject != null) {
897 // [java_DottedPolylineMapObject_setPolyline]
898 // Set dotted polyline geometry
899 List<Point> dottedPoints = new ArrayList<>();
900 dottedPoints.add(new Point(0.0, 100.0));
901 dottedPoints.add(new Point(50.0, 150.0));
902 dottedPoints.add(new Point(100.0, 100.0));
903 dottedPoints.add(new Point(150.0, 150.0));
904 Polyline dottedPolyline = new Polyline(dottedPoints);
905 LocationPolyline locationDottedPolyline = new LocationPolyline(dottedPolyline, 1, 0);
906 boolean success = dottedPolylineMapObject.setPolyLine(locationDottedPolyline);
907 System.out.println("Set dotted polyline geometry: " + success);
908 // [java_DottedPolylineMapObject_setPolyline]
909
910 // [java_DottedPolylineMapObject_setWidth]
911 // Set dotted polyline width
912 boolean widthSuccess = dottedPolylineMapObject.setWidth(2.0);
913 System.out.println("Set dotted polyline width to 2.0 pixels: " + widthSuccess);
914 // [java_DottedPolylineMapObject_setWidth]
915
916 // [java_DottedPolylineMapObject_setColor]
917 // Set dotted polyline color
918 boolean colorSuccess = dottedPolylineMapObject.setColor(0.5, 0.0, 1.0, 0.8);
919 System.out.println("Set dotted polyline color to purple with 80% opacity: " + colorSuccess);
920 // [java_DottedPolylineMapObject_setColor]
921
922 // [java_DottedPolylineMapObject_setOrder]
923 // Set rendering order
924 boolean orderSuccess = dottedPolylineMapObject.setOrder(3);
925 System.out.println("Set rendering order to 3: " + orderSuccess);
926 // [java_DottedPolylineMapObject_setOrder]
927
928 // [java_DottedPolylineMapObject_setVisible]
929 // Set visibility
930 boolean visibleSuccess = dottedPolylineMapObject.setVisible(true);
931 System.out.println("Set dotted polyline visibility to true: " + visibleSuccess);
932 // [java_DottedPolylineMapObject_setVisible]
933
934 // [java_DottedPolylineMapObject_getMapObjectType]
935 // Get map object type
936 MapObjectType objectType = dottedPolylineMapObject.getMapObjectType();
937 System.out.println("Dotted polyline map object type: " + objectType);
938 // [java_DottedPolylineMapObject_getMapObjectType]
939
940 // [java_MapObject_setAlpha_4]
941 // Set alpha transparency
942 boolean alphaSuccess = dottedPolylineMapObject.setAlpha(0.8);
943 System.out.println("Set dotted polyline alpha to 0.8: " + alphaSuccess);
944 // [java_MapObject_setAlpha_4]
945
946 // [java_MapObject_setInteractive_4]
947 // Set interactive mode
948 boolean interactiveSuccess = dottedPolylineMapObject.setInteractive(true);
949 System.out.println("Set dotted polyline interactive to true: " + interactiveSuccess);
950 // [java_MapObject_setInteractive_4]
951
952 // [java_MapObject_setTitle_4]
953 // Set title
954 boolean titleSuccess = dottedPolylineMapObject.setTitle("Dotted Polyline Object");
955 System.out.println("Set dotted polyline title to 'Dotted Polyline Object': " + titleSuccess);
956 // [java_MapObject_setTitle_4]
957
958 // [java_MapObject_setData_4]
959 // Set custom data
960 Map<String, Object> customData = new HashMap<>();
961 customData.put("key", "value");
962 customData.put("number", 42);
963 boolean dataSuccess = dottedPolylineMapObject.setData(customData);
964 System.out.println("Set dotted polyline custom data: " + dataSuccess);
965 // [java_MapObject_setData_4]
966
967 // [java_MapObject_getId_4]
968 // Get object ID
969 int objectId = dottedPolylineMapObject.getId();
970 System.out.println("Dotted polyline object ID: " + objectId);
971 // [java_MapObject_getId_4]
972
973 // [java_MapObject_getType_4]
974 // Get object type
975 String objectTypeString = dottedPolylineMapObject.getType();
976 System.out.println("Dotted polyline object type: " + objectTypeString);
977 // [java_MapObject_getType_4]
978
979 // [java_MapObject_getData_4]
980 // Get custom data
981 Map<String, Object> retrievedData = dottedPolylineMapObject.getData();
982 System.out.println("Dotted polyline custom data: " + retrievedData);
983 // [java_MapObject_getData_4]
984
985 // [java_DottedPolylineMapObject_setCollisionEnabled]
986 // Enable collision detection
987 boolean dottedCollisionSuccess = dottedPolylineMapObject.setCollisionEnabled(true);
988 System.out.println("Enabled collision detection for dotted polyline: " + dottedCollisionSuccess);
989 // [java_DottedPolylineMapObject_setCollisionEnabled]
990
991 // [java_DottedPolylineMapObject_setPlacement]
992 // Set placement type
993 boolean dottedPlacementSuccess = dottedPolylineMapObject.setPlacement(Placement.CENTER);
994 System.out.println("Set dotted polyline placement to CENTER: " + dottedPlacementSuccess);
995 // [java_DottedPolylineMapObject_setPlacement]
996
997 // [java_DottedPolylineMapObject_setPlacementMinRatio]
998 // Set placement min ratio
999 boolean dottedMinRatioSuccess = dottedPolylineMapObject.setPlacementMinRatio(0.5);
1000 System.out.println("Set dotted polyline placement min ratio to 0.5: " + dottedMinRatioSuccess);
1001 // [java_DottedPolylineMapObject_setPlacementMinRatio]
1002
1003 // [java_DottedPolylineMapObject_setPlacementSpacing]
1004 // Set placement spacing
1005 boolean dottedSpacingSuccess = dottedPolylineMapObject.setPlacementSpacing(10.0);
1006 System.out.println("Set dotted polyline placement spacing to 10.0: " + dottedSpacingSuccess);
1007 // [java_DottedPolylineMapObject_setPlacementSpacing]
1008
1009 // [java_DottedPolylineMapObject_setPriority]
1010 // Set rendering priority
1011 boolean dottedPrioritySuccess = dottedPolylineMapObject.setPriority(1);
1012 System.out.println("Set dotted polyline rendering priority to 1: " + dottedPrioritySuccess);
1013 // [java_DottedPolylineMapObject_setPriority]
1014
1015 // [java_DottedPolylineMapObject_setRepeatDistance]
1016 // Set repeat distance
1017 boolean dottedRepeatDistanceSuccess = dottedPolylineMapObject.setRepeatDistance(20.0);
1018 System.out.println("Set dotted polyline repeat distance to 20.0: " + dottedRepeatDistanceSuccess);
1019 // [java_DottedPolylineMapObject_setRepeatDistance]
1020
1021 // [java_DottedPolylineMapObject_setRepeatGroup]
1022 // Set repeat group
1023 boolean dottedRepeatGroupSuccess = dottedPolylineMapObject.setRepeatGroup(1);
1024 System.out.println("Set dotted polyline repeat group to 1: " + dottedRepeatGroupSuccess);
1025 // [java_DottedPolylineMapObject_setRepeatGroup]
1026
1027 // [java_DottedPolylineMapObject_setSize]
1028 // Set size
1029 Size dottedSize = new Size(16.0, 16.0);
1030 boolean dottedSizeSuccess = dottedPolylineMapObject.setSize(dottedSize);
1031 System.out.println("Set dotted polyline size to (" + dottedSize.getWidth() + ", " + dottedSize.getHeight() + "): " + dottedSizeSuccess);
1032 // [java_DottedPolylineMapObject_setSize]
1033 }
1034
1035 // [java_LocationWindow_removeDottedPolylineMapObject]
1036 // Remove dotted polyline map object
1037 if (dottedPolylineMapObject != null) {
1038 boolean removed = locationWindow.removeDottedPolylineMapObject(dottedPolylineMapObject);
1039 System.out.println("Removed dotted polyline map object: " + removed);
1040 dottedPolylineMapObject = null;
1041 }
1042 // [java_LocationWindow_removeDottedPolylineMapObject]
1043
1044 // Test multiple dotted polyline objects
1045 List<DottedPolylineMapObject> dottedPolylines = new ArrayList<>();
1046 for (int i = 0; i < 2; i++) {
1047 DottedPolylineMapObject dottedPolyline = locationWindow.addDottedPolylineMapObject();
1048 if (dottedPolyline != null) {
1049 List<Point> points = new ArrayList<>();
1050 points.add(new Point(i * 40.0, i * 40.0 + 100.0));
1051 points.add(new Point((i + 1) * 40.0, (i + 1) * 40.0 + 100.0));
1052 Polyline poly = new Polyline(points);
1053 LocationPolyline locPoly = new LocationPolyline(poly, 1, 0);
1054 dottedPolyline.setPolyLine(locPoly);
1055 dottedPolyline.setWidth(1.5);
1056 dottedPolyline.setColor(1.0, 0.0, 1.0, 0.6);
1057 dottedPolylines.add(dottedPolyline);
1058 System.out.println("Created dotted polyline " + i);
1059 }
1060 }
1061
1062 for (int i = 0; i < dottedPolylines.size(); i++) {
1063 locationWindow.removeDottedPolylineMapObject(dottedPolylines.get(i));
1064 System.out.println("Removed dotted polyline " + i);
1065 }
1066 }
1067
1071 private void demonstrateRemoveAllMapObjects() {
1072 System.out.println("--- Remove All Map Objects ---");
1073
1074 if (locationWindow == null) {
1075 System.out.println("LocationWindow not available yet");
1076 return;
1077 }
1078
1079 // Create various map objects
1080 CircleMapObject circle = locationWindow.addCircleMapObject();
1081 IconMapObject icon = locationWindow.addIconMapObject();
1082 PolygonMapObject polygon = locationWindow.addPolygonMapObject();
1083 PolylineMapObject polyline = locationWindow.addPolylineMapObject();
1084 DottedPolylineMapObject dottedPolyline = locationWindow.addDottedPolylineMapObject();
1085
1086 System.out.println("Created 5 map objects");
1087
1088 // [java_LocationWindow_removeAllMapObjects]
1089 // Remove all map objects
1090 locationWindow.removeAllMapObjects();
1091 System.out.println("Removed all map objects");
1092 // [java_LocationWindow_removeAllMapObjects]
1093 }
1094
1098 public void cleanup() {
1099 if (circleMapObject != null) {
1100 locationWindow.removeCircleMapObject(circleMapObject);
1101 circleMapObject = null;
1102 }
1103 if (iconMapObject != null) {
1104 locationWindow.removeIconMapObject(iconMapObject);
1105 iconMapObject = null;
1106 }
1107 if (polygonMapObject != null) {
1108 // Polygon objects are removed automatically when LocationWindow is destroyed
1109 polygonMapObject = null;
1110 }
1111 if (polylineMapObject != null) {
1112 locationWindow.removePolylineMapObject(polylineMapObject);
1113 polylineMapObject = null;
1114 }
1115 if (dottedPolylineMapObject != null) {
1116 locationWindow.removeDottedPolylineMapObject(dottedPolylineMapObject);
1117 dottedPolylineMapObject = null;
1118 }
1119 System.out.println("LocationWindowMapObjects example cleanup completed");
1120 }
1121}
1122
1123// Main class
1124class Main {
1125 public static void main(String[] args) {
1127 }
1128}