Show a Map
Your environment is now fully configured, and you have the necessary Google Maps and MapsIndoors API keys. Next you will learn how to load a Google Maps map with MapsIndoors.
Show a Map with MapsIndoors
ASYNC
Please note that data in MapsIndoors is loaded asynchronously. This results in behavior where data might not have finished loading if you call methods accessing it immediately after initializing MapsIndoors. Best practice is to set up listeners
or delegates
to inform of when data is ready. Please be aware of this when developing using the MapsIndoors SDK.
Initialize MapsIndoors
We start by initializing MapsIndoors
. MapsIndoors
is used to get and store all references to MapsIndoors-specific data. This includes access to all MapsIndoors-specific geodata.
Place the following initialization code in the onCreate
method in the MapsActivity
that displays the Google map. You should also assign the mapFragment
view to a local variable, as we will use this later to initialize MapControl
inside the onCreate
, after it has been created:
Java
Kotlin
If you are not a customer you can use this demo MapsIndoors API key d876ff0e60bb430b8fabb145
.
Initialize MapsControl
We now want to add all the data we get by initializing MapsIndoors
to our Google map. This is done by initializing MapControl
onto the Google map. MapControl
is used as a layer between Google Maps and MapsIndoors.
Here we use Google Maps logic to apply geodata onto the map. This also means we append logic onto many Google Maps listeners, which means that using Google Maps listeners directly might break intended behavior of the MapsIndoors experience. We recommend to check our reference docs, and see if you can add a specific Listener
through the MapControl
and always use those when possible.
Start by creating an initMapControl
method which is used to initiate the MapControl
and assign it to our Google map:
Java
Kotlin
In your onMapReady
callback function, assign the mMap
variable with the GoogleMap
you get from the callback and call the initMapControl
method with the mMapView
you assigned in the onCreate
to set up a Google map with MapsIndoors Venues, Buildings and Locations:
Java
Kotlin
Expected result:
See the full example of MapsActivity here MapsActivity.java or MapsActivity.kt
Last updated