Skip to content

Commit

Permalink
Add sample.
Browse files Browse the repository at this point in the history
Change-Id: I8177feadc27d466f39e5d4e8d04b629afd241b4c
  • Loading branch information
arriolac committed Oct 7, 2022
1 parent 5a46f7a commit a1df0a6
Show file tree
Hide file tree
Showing 10 changed files with 47 additions and 16 deletions.
3 changes: 3 additions & 0 deletions app/src/main/AndroidManifest.xml
Expand Up @@ -55,6 +55,9 @@
<activity
android:name=".ScaleBarActivity"
android:exported="false"/>
<activity
android:name=".StreetViewActivity"
android:exported="false"/>

<!-- Used by createComponentActivity() for unit testing -->
<activity android:name="androidx.activity.ComponentActivity" />
Expand Down
Expand Up @@ -61,10 +61,10 @@ import kotlinx.coroutines.launch

private const val TAG = "BasicMapActivity"

private val singapore = LatLng(1.35, 103.87)
private val singapore2 = LatLng(1.40, 103.77)
private val singapore3 = LatLng(1.45, 103.77)
private val defaultCameraPosition = CameraPosition.fromLatLngZoom(singapore, 11f)
val singapore = LatLng(1.35, 103.87)
val singapore2 = LatLng(1.40, 103.77)
val singapore3 = LatLng(1.45, 103.77)
val defaultCameraPosition = CameraPosition.fromLatLngZoom(singapore, 11f)

class BasicMapActivity : ComponentActivity() {

Expand Down
Expand Up @@ -30,8 +30,6 @@ import kotlin.random.Random

private const val TAG = "LocationTrackActivity"
private const val zoom = 8f
private val singapore = LatLng(1.35, 103.87)
private val defaultCameraPosition = CameraPosition.fromLatLngZoom(singapore, zoom)

/**
* This shows how to use a custom location source to show a blue dot on the map based on your own
Expand Down
Expand Up @@ -105,6 +105,13 @@ class MainActivity : ComponentActivity() {
}) {
Text(getString(R.string.scale_bar_activity))
}
Spacer(modifier = Modifier.padding(5.dp))
Button(
onClick = {
context.startActivity(Intent(context, StreetViewActivity::class.java))
}) {
Text(getString(R.string.street_view))
}
}
}
}
Expand Down
Expand Up @@ -21,8 +21,6 @@ import com.google.maps.android.clustering.ClusterItem
import com.google.maps.android.clustering.ClusterManager
import kotlin.random.Random

private val singapore = LatLng(1.35, 103.87)
private val singapore2 = LatLng(2.50, 103.87)
private val TAG = MapClusteringActivity::class.simpleName

class MapClusteringActivity : ComponentActivity() {
Expand Down
Expand Up @@ -43,9 +43,6 @@ import com.google.android.gms.maps.model.Marker

private const val TAG = "ScrollingMapActivity"

private val singapore = LatLng(1.35, 103.87)
private val defaultCameraPosition = CameraPosition.fromLatLngZoom(singapore, 11f)

class MapInColumnActivity : ComponentActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
Expand Down
Expand Up @@ -42,8 +42,6 @@ import com.google.maps.android.compose.widgets.ScaleBar
private const val TAG = "ScaleBarActivity"

private const val zoom = 8f
private val singapore = LatLng(1.35, 103.87)
private val defaultCameraPosition = CameraPosition.fromLatLngZoom(singapore, zoom)

class ScaleBarActivity : ComponentActivity() {

Expand Down
@@ -0,0 +1,23 @@
package com.google.maps.android.compose

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.ui.Modifier
import com.google.android.gms.maps.StreetViewPanoramaOptions
import com.google.maps.android.compose.streetview.StreetView

class StreetViewActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Box(Modifier.fillMaxSize()) {
StreetView(Modifier.matchParentSize(), streetViewPanoramaOptionsFactory = {
StreetViewPanoramaOptions().position(singapore)
})
}
}
}
}
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Expand Up @@ -22,4 +22,5 @@
<string name="map_clustering_activity">Map Clustering</string>
<string name="location_tracking_activity">Location Tracking</string>
<string name="scale_bar_activity">Scale Bar</string>
<string name="street_view">Street View</string>
</resources>
Expand Up @@ -21,6 +21,7 @@ import androidx.compose.ui.viewinterop.AndroidView
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import com.google.android.gms.maps.MapView
import com.google.android.gms.maps.StreetViewPanoramaOptions
import com.google.android.gms.maps.StreetViewPanoramaView
import com.google.android.gms.maps.model.StreetViewPanoramaOrientation
import com.google.maps.android.compose.MapApplier
Expand All @@ -32,16 +33,21 @@ import kotlinx.coroutines.NonDisposableHandle.parent
@Composable
public fun StreetView(
modifier: Modifier = Modifier,
streetViewPanoramaOptionsFactory: () -> StreetViewPanoramaOptions = {
StreetViewPanoramaOptions()
},
// TODO check that these defaults are correct
isPanningGesturesEnabled: Boolean = false,
isStreetNamesEnabled: Boolean = false,
isUserNavigationEnabled: Boolean = false,
isZoomGesturesEnabled: Boolean = true,
// END TODO
onClick: (StreetViewPanoramaOrientation) -> Unit = {},
onLongClick: (StreetViewPanoramaOrientation) -> Unit = {},
) {
val context = LocalContext.current
val streetView = remember { StreetViewPanoramaView(context) }
val streetView =
remember { StreetViewPanoramaView(context, streetViewPanoramaOptionsFactory()) }

AndroidView(modifier = modifier, factory = { streetView }) {}
StreetViewLifecycle(streetView)
Expand Down Expand Up @@ -70,8 +76,8 @@ public fun StreetView(
// streetViewPanorama.isStreetNamesEnabled = isStreetNamesEnabled
// streetViewPanorama.isUserNavigationEnabled = isUserNavigationEnabled
// streetViewPanorama.isZoomGesturesEnabled = isZoomGesturesEnabled
// //streetViewPanorama.setPosition
// //streetViewPanorama.location = StreetViewPanoramaLocation()
// streetViewPanorama.setPosition
// streetViewPanorama.location = StreetViewPanoramaLocation()
// }
}

Expand Down

0 comments on commit a1df0a6

Please sign in to comment.