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(),
)
}
On this page