Loading...
Searching...
No Matches
LocationWindowBuildingExample.kt
Go to the documentation of this file.
1/**
2 * Building and BuildingListener usage example for Kotlin (outdoor / multi-building camera focus).
3 */
4class LocationWindowBuildingExample {
5
6 private var locationWindow: LocationWindow? = null
7 private var buildingListener: BuildingListener? = null
8
9 init {
10 demonstrateBuildingListenerRegistration()
11 }
12
13 private fun demonstrateBuildingListenerRegistration() {
14 val window = locationWindow ?: run {
15 println("LocationWindow not available yet")
16 return
17 }
18
19 buildingListener = DemoBuildingListener()
20
21 // [kotlin_LocationWindow_addBuildingListener]
22 window.addBuildingListener(buildingListener!!)
23 println("Added building listener")
24 // [kotlin_LocationWindow_addBuildingListener]
25
26 // [kotlin_LocationWindow_removeBuildingListener]
27 window.removeBuildingListener(buildingListener!!)
28 println("Removed building listener")
29 // [kotlin_LocationWindow_removeBuildingListener]
30 }
31}
32
33class DemoBuildingListener : BuildingListener {
34
35 // [kotlin_BuildingListener_onActiveBuildingFocused]
36 override fun onActiveBuildingFocused(activeBuilding: Building) {
37 // [kotlin_Building_getSublocations]
38 val floors = activeBuilding.getSublocations()
39 println("Focused building, floor count: ${floors.size}")
40 // [kotlin_Building_getSublocations]
41
42 // [kotlin_Building_getActiveSublocationId]
43 val activeFloorId = activeBuilding.getActiveSublocationId()
44 println("Active sublocation id: $activeFloorId")
45 // [kotlin_Building_getActiveSublocationId]
46
47 // [kotlin_Building_setActiveSublocationId]
48 activeBuilding.setActiveSublocationId(activeFloorId)
49 // [kotlin_Building_setActiveSublocationId]
50 }
51 // [kotlin_BuildingListener_onActiveBuildingFocused]
52
53 // [kotlin_BuildingListener_onActiveBuildingLeft]
54 override fun onActiveBuildingLeft() {
55 println("Camera left all building areas")
56 }
57 // [kotlin_BuildingListener_onActiveBuildingLeft]
58
59 // [kotlin_BuildingListener_onActiveSublocationChanged]
60 override fun onActiveSublocationChanged(activeSublocationId: Int) {
61 println("Active floor changed to sublocation id: $activeSublocationId")
62 }
63 // [kotlin_BuildingListener_onActiveSublocationChanged]
64}