On this page

    Add Pre-made controls to your map - Kotlin SDK

    The term control is commonly used for all sorts of buttons and information display that take place in one of the corner of the map area. The most well know are probably the zoom in [+] and zoom out [-] buttons as well as the attribution information.

    This example shows how to add controls during your map initialization and enable most common map interactions instantly.


    
    import android.os.Bundle
    import androidx.activity.ComponentActivity
    import androidx.activity.compose.setContent
    import androidx.compose.foundation.layout.fillMaxSize
    import androidx.compose.runtime.Composable
    import androidx.compose.runtime.remember
    import androidx.compose.ui.Modifier
    import androidx.compose.ui.platform.LocalContext
    import com.maptiler.maptilersdk.MTConfig
    import com.maptiler.maptilersdk.map.LngLat
    import com.maptiler.maptilersdk.map.MTMapOptions
    import com.maptiler.maptilersdk.map.MTMapView
    import com.maptiler.maptilersdk.map.MTMapViewController
    import com.maptiler.maptilersdk.map.style.MTMapReferenceStyle
    import com.maptiler.maptilersdk.map.types.MTMapCorner
    
    class ControlsComposeActivity : ComponentActivity() {
      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    
        // Replace with your MapTiler API key
        MTConfig.apiKey = "MY_API_KEY"
    
        setContent {
          ControlsMap()
        }
      }
    }
    
    @Composable
    fun ControlsMap() {
      val controller = remember { MTMapViewController(baseContext) }
    
      MTMapView(
        referenceStyle = MTMapReferenceStyle.STREETS,
        options = MTMapOptions(
          center = LngLat(8.94738, 45.97812),
          zoom = 12.0,
    
          // Built-in controls
          terrainControlIsVisible = true,
          navigationControlIsVisible = true,
          projectionControlIsVisible = true,
          scaleControlIsVisible = true,
          geolocateControlIsVisible = true,
          attributionControlIsVisible = true,
          minimapIsVisible = true,
          // Logo toggle and position
          maptilerLogoIsVisible = true, // false works for premium accounts
          logoPosition = MTMapCorner.TOP_LEFT
        ),
        controller = controller,
        modifier = Modifier.fillMaxSize(),
      )
    }
    

    Was this helpful?

    Mobile SDK
    Android
    Add Pre-made controls to your map - Kotlin SDK
    Add Pre-made controls to your map