Skip to content

Commit 3a5451d

Browse files
dkhawkkikoso
andauthored
Update Model Snippets & Catalog Index (#33)
* docs: headers * feat: Add standalone scripts for cataloging Maps3D API snippets coverage * Refactor: PlaceSnippets listener to lambda and update CATALOG.md * Refine camera animations and upgrade button aesthetics in snippets app * Sort snippet items alphabetically by title in Registry * Index snippet titles and add navigation controls * feat(snippets): Implement automatic cleanup and update snippet signatures - Added TrackedMap3D decorator to intercept map element additions. - Updated SnippetRegistry to support clearable items. - Added explicit cleanup invocation in MapActivity before execution. - Updated snippet constructors to take Context for UI operations. - Resolved type inference for clicks and steady listener events correctly. - Simplified descriptions by removing coordinate mentions. * feat(snippets): Remove unused GoogleMap3D imports and leftover FQDN and fix null checks * feat(snippets): Remove FQDN from TrackedMap3D and SnippetsActivity - Added imports for Camera and FlyToOptions to TrackedMap3D (Java/Kotlin). - Simplified signatures in TrackedMap3D by removing com.google.android.gms.maps3d.model prefix. - Cleaned up Compose imports and variables in KotlinSnippetsActivity. - Simplified when statements and lambda signatures in SnippetRegistry with Kotlin imports. * feat(snippets): Add camera movement to polygon snippets outside snippet tags * feat(snippets): Update Java polygon camera positions to match Kotlin * Update Popover and Place snippets with coordinates and camera support * Update Polyline and Polygon snippets with camera framing coordinates * Update Model snippets with UFO model configuration and camera framing * Update Catalog Generator with Concept Index and refresh CATALOG.md * Add missing Copyright headers to Java utilities and annotations * Include region tags in catalog index and separate list items * Update Region Tag search to look both directions prioritizing closest match * Update Catalog markdown index with sub-bullet layout nested formats * Add setCameraRestrictions snippet to CameraControlSnippets * Add setCameraRestrictions snippet and TrackedMap3D forwards * Update setCameraRestrictions to move camera inside bounds * Exclude camera movement from camera restriction snippets * Move camera before setting camera restriction * Include TrackedMap3D delegate calls into catalog analytics * feat(snippets): Add Glyph snippets for marker styling on Kotlin and Java - Added `addMarkerWithColorGlyph`, `addMarkerWithTextGlyph`, and `addMarkerWithCircleGlyph` to demonstrate full Glyph static creators set. - Added standard `[START_EXCLUDE]` blocks targeting smooth camera repositioning to focus viewports onto the newly created markers in real time. - Updated `CATALOG.md` linking static `fromText` and `fromCircle` methods to fix missing coverage tracking. * feat(snippets): Add Polygon with Hole snippet to Kotlin and Java * feat(snippets): Add click listeners & Toast triggers for Polygons, Polylines, and Models - Expanded constructors for `PolygonSnippets`, `PolylineSnippets`, and `ModelSnippets` to accept an Android `Context` safely. - Appended `.setClickListener` hooks to dispatch `Toast` popups on the UI thread for all relevant creation functions in both Kotlin and Java. - Fixed Nullable compilation errors in Kotlin by using safe calls (`polygon?.`, `polyline?.`, `model?.`). - Regenerated `CATALOG.md` output to sync coordinate and listener trackers correctly on local branches. * docs(snippets): Create snippets/README.md and fix DevRel critiques - Created snippets/README.md explaining the decorator architecture. - Appended trace logs inside empty hooks for . - Injected educational warning comment block for CoroutineScope lifecycles setup. - Linked top-level index pointers. * tooling(snippets): Format catalog links pointing to region tag ranges - Updated to map line items back to exact region start-end bounds. - Link generations now use ranges enabling perfect GitHub coordinate views. * tooling(snippets): Populate file_map with full paths for all source files - Fixed dictionary fallbacks causing basenames (MapActivity.java) to fail relative mappings. - Re-ran catalog parser to flush full coordinate reference indices. * tooling(snippets): Split Catalog Index and Coverage Matrix - Updated to write (Index) and (Audit matrix) separately. - Updated documentation indices to reference the split matrix layouts accurately. * docs(snippets): Detail bytecode analyzer algorithms - Updated with accurate descriptions of Usage: javap <options> <classes> where possible options include: --help -help -h -? Print this help message -version Version information -v -verbose Print additional information -l Print line number and local variable tables, works in combination with -c -public Show only public classes and members -protected Show protected/public classes and members -package Show package/protected/public classes and members (default) -p -private Show all classes and members -c Disassemble the code -s Print internal type signatures -sysinfo Show system info (path, size, date, SHA-256 hash) of class being processed -verify Print additional class verification info -constants Show final constants --module <module> -m <module> Specify module containing classes to be disassembled -J<vm-option> Specify a VM option --module-path <path> Specify where to find application modules --system <jdk> Specify where to find system modules --class-path <path> Specify where to find user class files -classpath <path> Specify where to find user class files -cp <path> Specify where to find user class files -bootclasspath <path> Override location of bootstrap class files --multi-release <version> Specify the version to use in multi-release JAR files GNU-style options may use = instead of whitespace to separate the name of an option from its value. Each class to be shown may be specified by a filename, a URL, or by its fully qualified class name. Examples: path/to/MyClass.class jar:file:///path/to/MyJar.jar!/mypkg/MyClass.class java.lang.Object disassembly and offset correlations. * tooling(snippets): Remove meta-documentation folder from codebase - Removed directory following standard cleanliness guidelines. * tooling(snippets): Untrack docs folder but preserve on disk * chore(snippets): Reformat code and clean up imports --------- Co-authored-by: Enrique López Mañas <eenriquelopez@gmail.com>
1 parent f23953e commit 3a5451d

60 files changed

Lines changed: 6366 additions & 1047 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,4 @@ google-services.json
3838

3939
# VS Code
4040
.vscode/
41+
snippets/docs/

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Android Views. It's a great starting point to understand core concepts like map
2626
* **[Maps3DSamples/advanced](Maps3DSamples/advanced)**: For developers using Jetpack Compose, this sample demonstrates
2727
how to integrate the Maps3D SDK into a declarative UI. It utilizes helper classes to bridge the SDK's View-based SDK with Compose, offering a more modern
2828
approach to building UIs with 3D maps.
29+
* **[snippets](snippets)**: A collection of standalone, extraction-ready code snippets demonstrating standard integration endpoints in both Kotlin and Java. Includes a coordinate checklist mapping tracker listed in [CATALOG.md](snippets/CATALOG.md).
2930

3031
## View-based Kotlin Samples
3132

settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2025 Google LLC
2+
* Copyright 2026 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.

snippets/CATALOG.md

Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
# 🗺️ Maps3D API Snippets Catalog
2+
3+
This document serves as a comprehensive developer reference mapping high-level concepts directly index extracts.
4+
5+
## 📑 Snippet Concepts Index
6+
7+
This section maps high-level concepts (groups) to specific demonstration files and lines in both languages.
8+
9+
### Camera
10+
> Snippets demonstrating dynamic camera orchestration and animations.
11+
12+
- **1. Fly To**:
13+
- *Description*: Animates the camera to a specific position with a tilt and heading over 5 seconds.
14+
- **Kotlin**
15+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt#L62-L81)
16+
- Tag: `maps_android_3d_camera_fly_to_kt`
17+
- **Java**
18+
- [java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java#L45-L64)
19+
- Tag: `maps_android_3d_camera_fly_to_java`
20+
- **2. Fly Around**:
21+
- *Description*: Rotates the camera 360 degrees around a specific location over 10 seconds.
22+
- **Kotlin**
23+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt#L93-L125)
24+
- Tag: `maps_android_3d_camera_fly_around_kt`
25+
- **Java**
26+
- [java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java#L75-L94)
27+
- Tag: `maps_android_3d_camera_fly_around_java`
28+
- **3. Stop Animation**:
29+
- *Description*: Stops any currently running camera animation immediately.
30+
- **Kotlin**
31+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt#L137-L176)
32+
- Tag: `maps_android_3d_camera_stop_kt`
33+
- **Java**
34+
- [java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java#L106-L115)
35+
- Tag: `maps_android_3d_camera_stop_java`
36+
- **4. Listen Camera Events**:
37+
- *Description*: Logs camera change events to the console, printing the center coordinates as the camera moves.
38+
- **Kotlin**
39+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt#L188-L202)
40+
- Tag: `maps_android_3d_camera_events_kt`
41+
- **Java**
42+
- [java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java#L128-L147)
43+
- Tag: `maps_android_3d_camera_events_java`
44+
- **5. Listen Steady State**:
45+
- *Description*: Logs to the console when the map finishes rendering or enters a steady state.
46+
- **Kotlin**
47+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt#L219-L223)
48+
- Tag: `maps_android_3d_camera_steady_kt`
49+
- **Java**
50+
- [java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java#L159-L163)
51+
- Tag: `maps_android_3d_camera_steady_java`
52+
- **6. Camera Restriction**:
53+
- *Description*: Restricts the camera to a specific altitude range and bounding box.
54+
- **Kotlin**
55+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/CameraControlSnippets.kt#L235-L259)
56+
- Tag: `maps_android_3d_camera_restriction_kt`
57+
- **Java**
58+
- [java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/CameraControlSnippets.java#L184-L194)
59+
- Tag: `maps_android_3d_camera_restriction_java`
60+
61+
### Map Initialization
62+
> Snippets demonstrating map lifecycle, listeners and readiness states.
63+
64+
- **1. Listen Events**:
65+
- **Kotlin**
66+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MapInitSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MapInitSnippets.kt#L94-L114)
67+
- Tag: `maps_android_3d_init_listeners_kt`
68+
- **1. Basic Map3D Initialization**:
69+
- *Description*: Initializes a standard 3D Map View and sets an initial camera angle.
70+
- **Java**
71+
- [java-app/src/main/java/com/example/snippets/java/snippets/MapInitSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/MapInitSnippets.java#L45-L64)
72+
- Tag: `maps_android_3d_init_basic_java`
73+
- **2. Add Map to AndroidView**:
74+
- *Description*: Shows how to add a Map3DView to an AndroidView which bridges to Jetpack Compose.
75+
- **Kotlin**
76+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MapInitSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MapInitSnippets.kt#L42-L83)
77+
- Tag: `maps_android_3d_init_basic_kt`
78+
- **2. Listen Map Events**:
79+
- *Description*: Logs map events to the console, such as clicks or idle status.
80+
- **Java**
81+
- [java-app/src/main/java/com/example/snippets/java/snippets/MapInitSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/MapInitSnippets.java#L73-L97)
82+
- Tag: `maps_android_3d_init_listeners_java`
83+
84+
### Markers
85+
> Snippets demonstrating standard, extruded, and custom styled markers.
86+
87+
- **1. Basic**:
88+
- *Description*: Adds a standard marker.
89+
- **Kotlin**
90+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt#L53-L82)
91+
- Tag: `maps_android_3d_marker_add_kt`
92+
- **Java**
93+
- [java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java#L64-L81)
94+
- Tag: `maps_android_3d_marker_add_java`
95+
- **2. Advanced**:
96+
- *Description*: Adds a 'Priority Marker' that is extruded and collides with other markers.
97+
- **Kotlin**
98+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt#L94-L124)
99+
- Tag: `maps_android_3d_marker_options_kt`
100+
- **Java**
101+
- [java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java#L93-L113)
102+
- Tag: `maps_android_3d_marker_options_java`
103+
- **3. Click**:
104+
- *Description*: Adds a marker that logs a message when clicked.
105+
- **Kotlin**
106+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt#L136-L166)
107+
- Tag: `maps_android_3d_marker_click_kt`
108+
- **Java**
109+
- [java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java#L125-L147)
110+
- Tag: `maps_android_3d_marker_click_java`
111+
- **4. Custom Icon**:
112+
- *Description*: Adds a marker with a custom icon using PinConfiguration and Glyph styling.
113+
- **Kotlin**
114+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt:173](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt#L173)
115+
- Tag: `No Tag`
116+
- **Java**
117+
- [java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java#L159-L189)
118+
- Tag: `maps_android_3d_marker_custom_icon_java`
119+
- **5. Color Glyph**:
120+
- *Description*: Adds a marker with a customized glyph color.
121+
- **Kotlin**
122+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt#L227-L255)
123+
- Tag: `maps_android_3d_marker_glyph_color_kt`
124+
- **Java**
125+
- [java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java#L201-L220)
126+
- Tag: `maps_android_3d_marker_glyph_color_java`
127+
- **6. Text Glyph**:
128+
- *Description*: Adds a marker with text inside the glyph.
129+
- **Kotlin**
130+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt#L267-L295)
131+
- Tag: `maps_android_3d_marker_glyph_text_kt`
132+
- **Java**
133+
- [java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java#L232-L251)
134+
- Tag: `maps_android_3d_marker_glyph_text_java`
135+
- **7. Circle Glyph**:
136+
- *Description*: Adds a marker with a default circle glyph.
137+
- **Kotlin**
138+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/MarkerSnippets.kt#L307-L338)
139+
- Tag: `maps_android_3d_marker_glyph_circle_kt`
140+
- **Java**
141+
- [java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/MarkerSnippets.java#L263-L285)
142+
- Tag: `maps_android_3d_marker_glyph_circle_java`
143+
144+
### Models
145+
- **1. Basic**:
146+
- *Description*: Loads a GLB model from a URL and places it clamped to the ground.
147+
- **Kotlin**
148+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/ModelSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/ModelSnippets.kt#L52-L79)
149+
- Tag: `maps_android_3d_model_add_kt`
150+
- **Java**
151+
- [java-app/src/main/java/com/example/snippets/java/snippets/ModelSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/ModelSnippets.java#L60-L78)
152+
- Tag: `maps_android_3d_model_add_java`
153+
154+
### Places
155+
- **1. Listen Clicks**:
156+
- *Description*: Sets up a listener that logs the Place ID when a user clicks on a 3D building or POI.
157+
- **Kotlin**
158+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PlaceSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PlaceSnippets.kt#L44-L53)
159+
- Tag: `maps_android_3d_place_click_kt`
160+
- **Java**
161+
- [java-app/src/main/java/com/example/snippets/java/snippets/PlaceSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/PlaceSnippets.java#L56-L68)
162+
- Tag: `maps_android_3d_place_click_java`
163+
164+
### Polygons
165+
> Snippets demonstrating 2D and 3D extruded polygon layers on the map.
166+
167+
- **1. Basic**:
168+
- *Description*: Draws a red polygon with a blue stroke around a small area
169+
- **Kotlin**
170+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolygonSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolygonSnippets.kt#L49-L74)
171+
- Tag: `maps_android_3d_polygon_add_kt`
172+
- **Java**
173+
- [java-app/src/main/java/com/example/snippets/java/snippets/PolygonSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/PolygonSnippets.java#L60-L84)
174+
- Tag: `maps_android_3d_polygon_add_java`
175+
- **2. Extruded**:
176+
- **Kotlin**
177+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolygonSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolygonSnippets.kt#L100-L125)
178+
- Tag: `maps_android_3d_polygon_extruded_kt`
179+
- **Java**
180+
- [java-app/src/main/java/com/example/snippets/java/snippets/PolygonSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/PolygonSnippets.java#L100-L124)
181+
- Tag: `maps_android_3d_polygon_extruded_java`
182+
- **3. Polygon with Hole**:
183+
- *Description*: Draws a polygon with an interior hole cutout.
184+
- **Kotlin**
185+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolygonSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolygonSnippets.kt#L151-L184)
186+
- Tag: `maps_android_3d_polygon_hole_kt`
187+
- **Java**
188+
- [java-app/src/main/java/com/example/snippets/java/snippets/PolygonSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/PolygonSnippets.java#L140-L174)
189+
- Tag: `maps_android_3d_polygon_hole_java`
190+
191+
### Polylines
192+
> Snippets demonstrating 2D and 3D extruded polyline paths on the map.
193+
194+
- **1. Basic**:
195+
- *Description*: Draws a thick red polyline connecting three points
196+
- **Kotlin**
197+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolylineSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolylineSnippets.kt#L48-L70)
198+
- Tag: `maps_android_3d_polyline_add_kt`
199+
- **Java**
200+
- [java-app/src/main/java/com/example/snippets/java/snippets/PolylineSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/PolylineSnippets.java#L59-L80)
201+
- Tag: `maps_android_3d_polyline_add_java`
202+
- **2. Styled**:
203+
- **Kotlin**
204+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolylineSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PolylineSnippets.kt#L96-L122)
205+
- Tag: `maps_android_3d_polyline_options_kt`
206+
- **Java**
207+
- [java-app/src/main/java/com/example/snippets/java/snippets/PolylineSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/PolylineSnippets.java#L96-L121)
208+
- Tag: `maps_android_3d_polyline_options_java`
209+
210+
### Popovers
211+
> Snippets demonstrating anchored and configured 3D Popover views.
212+
213+
- **1. Marker Anchor**:
214+
- *Description*: Adds a 'Hello Popover!' text bubble anchored to a marker
215+
- **Kotlin**
216+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PopoverSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PopoverSnippets.kt#L48-L73)
217+
- Tag: `maps_android_3d_popover_add_kt`
218+
- **Java**
219+
- [java-app/src/main/java/com/example/snippets/java/snippets/PopoverSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/PopoverSnippets.java#L58-L82)
220+
- Tag: `maps_android_3d_popover_add_java`
221+
- **2. Configured**:
222+
- *Description*: Adds an 'Info' popover anchored to a marker with auto-close enabled and auto-pan disabled.
223+
- **Kotlin**
224+
- [kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PopoverSnippets.kt](kotlin-app/src/main/java/com/example/snippets/kotlin/snippets/PopoverSnippets.kt#L95-L118)
225+
- Tag: `maps_android_3d_popover_options_kt`
226+
- **Java**
227+
- [java-app/src/main/java/com/example/snippets/java/snippets/PopoverSnippets.java](java-app/src/main/java/com/example/snippets/java/snippets/PopoverSnippets.java#L94-L118)
228+
- Tag: `maps_android_3d_popover_options_java`
229+

0 commit comments

Comments
 (0)