2 * Building and BuildingListener usage example for Kotlin (outdoor / multi-building camera focus).
4class LocationWindowBuildingExample {
6 private var locationWindow: LocationWindow? = null
7 private var buildingListener: BuildingListener? = null
10 demonstrateBuildingListenerRegistration()
13 private fun demonstrateBuildingListenerRegistration() {
14 val window = locationWindow ?: run {
15 println("LocationWindow not available yet")
19 buildingListener = DemoBuildingListener()
21 // [kotlin_LocationWindow_addBuildingListener]
22 window.addBuildingListener(buildingListener!!)
23 println("Added building listener")
24 // [kotlin_LocationWindow_addBuildingListener]
26 // [kotlin_LocationWindow_removeBuildingListener]
27 window.removeBuildingListener(buildingListener!!)
28 println("Removed building listener")
29 // [kotlin_LocationWindow_removeBuildingListener]
33class DemoBuildingListener : BuildingListener {
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]
42 // [kotlin_Building_getActiveSublocationId]
43 val activeFloorId = activeBuilding.getActiveSublocationId()
44 println("Active sublocation id: $activeFloorId")
45 // [kotlin_Building_getActiveSublocationId]
47 // [kotlin_Building_setActiveSublocationId]
48 activeBuilding.setActiveSublocationId(activeFloorId)
49 // [kotlin_Building_setActiveSublocationId]
51 // [kotlin_BuildingListener_onActiveBuildingFocused]
53 // [kotlin_BuildingListener_onActiveBuildingLeft]
54 override fun onActiveBuildingLeft() {
55 println("Camera left all building areas")
57 // [kotlin_BuildingListener_onActiveBuildingLeft]
59 // [kotlin_BuildingListener_onActiveSublocationChanged]
60 override fun onActiveSublocationChanged(activeSublocationId: Int) {
61 println("Active floor changed to sublocation id: $activeSublocationId")
63 // [kotlin_BuildingListener_onActiveSublocationChanged]