diff --git a/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/MapView.kt b/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/MapView.kt
index 4172b2e26..20e453427 100644
--- a/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/MapView.kt
+++ b/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/MapView.kt
@@ -102,6 +102,11 @@ import kotlinx.coroutines.launch
* @param onTwoPointerTap lambda invoked when a user taps two pointers on the composable MapView
* @param onPan lambda invoked when a user drags a pointer or pointers across composable MapView
* @param onDrawStatusChanged lambda invoked when the draw status of the composable MapView is changed
+ * @sample com.arcgismaps.toolkit.geocompose.samples.MapViewSample
+ * @see
+ * - Display a map tutorial
+ * - Display a web map tutorial
+ * - Add a point, line, and polygon tutorial
* @since 200.4.0
*/
@Composable
diff --git a/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/SceneView.kt b/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/SceneView.kt
index 8259c5ed6..7ae0c0229 100644
--- a/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/SceneView.kt
+++ b/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/SceneView.kt
@@ -100,6 +100,10 @@ import java.time.Instant
* @param onTwoPointerTap lambda invoked when a user taps two pointers on the composable SceneView
* @param onPan lambda invoked when a user drags a pointer or pointers across composable SceneView
* @param onDrawStatusChanged lambda invoked when the draw status of the composable SceneView is changed
+ * @sample com.arcgismaps.toolkit.geocompose.samples.SceneViewSample
+ * @see
+ * - Display a scene tutorial
+ * - Display a web scene tutorial
* @since 200.4.0
*/
@Composable
diff --git a/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/samples/GeoViewDocSamples.kt b/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/samples/GeoViewDocSamples.kt
new file mode 100644
index 000000000..bee982cb0
--- /dev/null
+++ b/toolkit/geo-compose/src/main/java/com/arcgismaps/toolkit/geocompose/samples/GeoViewDocSamples.kt
@@ -0,0 +1,123 @@
+package com.arcgismaps.toolkit.geocompose.samples
+
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.ui.Modifier
+import com.arcgismaps.Color
+import com.arcgismaps.data.ServiceFeatureTable
+import com.arcgismaps.geometry.Point
+import com.arcgismaps.geometry.SpatialReference
+import com.arcgismaps.mapping.ArcGISMap
+import com.arcgismaps.mapping.ArcGISScene
+import com.arcgismaps.mapping.ArcGISTiledElevationSource
+import com.arcgismaps.mapping.BasemapStyle
+import com.arcgismaps.mapping.Surface
+import com.arcgismaps.mapping.Viewpoint
+import com.arcgismaps.mapping.layers.FeatureLayer
+import com.arcgismaps.mapping.symbology.SimpleLineSymbol
+import com.arcgismaps.mapping.symbology.SimpleLineSymbolStyle
+import com.arcgismaps.mapping.symbology.SimpleRenderer
+import com.arcgismaps.mapping.view.Camera
+import com.arcgismaps.toolkit.geocompose.MapView
+import com.arcgismaps.toolkit.geocompose.SceneView
+
+/**
+ * @suppress Suppress this function from being indexed in the KDoc
+ */
+@Composable
+public fun SceneViewSample() {
+ // Display a SceneView with an elevation surface and an initial viewpoint
+
+ // add base surface for elevation data
+ val elevationSource = ArcGISTiledElevationSource(
+ uri = "https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer"
+ )
+
+ val surface = Surface().apply {
+ elevationSources.add(elevationSource)
+ // add an exaggeration factor to increase the 3D effect of the elevation.
+ elevationExaggeration = 2.5f
+ }
+
+ val cameraLocation = Point(
+ x = -118.794,
+ y = 33.909,
+ z = 5330.0,
+ spatialReference = SpatialReference.wgs84()
+ )
+
+ val camera = Camera(
+ locationPoint = cameraLocation,
+ heading = 355.0,
+ pitch = 72.0,
+ roll = 0.0
+ )
+
+ // create a scene to display the elevation source
+ val scene by remember {
+ mutableStateOf(ArcGISScene(BasemapStyle.ArcGISImagery).apply {
+ baseSurface = surface
+ initialViewpoint = Viewpoint(cameraLocation, camera)
+ })
+ }
+
+ // display the Composable SceneView
+ SceneView(
+ modifier = Modifier.fillMaxSize(),
+ arcGISScene = scene
+ )
+}
+
+
+/**
+ * @suppress Suppress this function from being indexed in the KDoc
+ */
+@Composable
+public fun MapViewSample() {
+ // Display a feature layer in a MapView using a service feature table
+
+ // create a map to display a feature layer
+ val map by remember {
+ mutableStateOf(ArcGISMap(BasemapStyle.ArcGISTopographic).apply {
+ initialViewpoint = Viewpoint( // USA viewpoint
+ center = Point(-11e6, 5e6, SpatialReference.webMercator()),
+ scale = 1e8
+ )
+ })
+ }
+
+ // create a service feature table (which will be used to create a feature layer)
+ val serviceFeatureTable = ServiceFeatureTable(
+ uri = "https://services.arcgis.com/jIL9msH9OI208GCb/arcgis/rest/services/USA_Daytime_Population_2016/FeatureServer/0"
+ )
+
+ // create the feature layer using the service feature table
+ val featureLayer: FeatureLayer = FeatureLayer.createWithFeatureTable(serviceFeatureTable)
+
+ // create symbol to show U.S. states with a black outline
+ val lineSymbol = SimpleLineSymbol(
+ style = SimpleLineSymbolStyle.Solid,
+ color = Color.black,
+ width = 1.0f
+ )
+
+ // set feature layer properties
+ featureLayer.apply {
+ // set renderer for the feature layer
+ renderer = SimpleRenderer(lineSymbol)
+ opacity = 0.8f
+ maxScale = 10000.0
+ }
+
+ // add the feature layer to the map's operational layers
+ map.operationalLayers.add(featureLayer)
+
+ // display the Composable MapView
+ MapView(
+ modifier = Modifier.fillMaxSize(),
+ arcGISMap = map
+ )
+}