diff --git a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/SplitStreetViewPanoramaAndMapDemoActivity.java b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/SplitStreetViewPanoramaAndMapDemoActivity.java
index 327d2ec0..7118ee6a 100755
--- a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/SplitStreetViewPanoramaAndMapDemoActivity.java
+++ b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/SplitStreetViewPanoramaAndMapDemoActivity.java
@@ -44,9 +44,9 @@ public class SplitStreetViewPanoramaAndMapDemoActivity extends AppCompatActivity
// George St, Sydney
private static final LatLng SYDNEY = new LatLng(-33.87365, 151.20689);
- private StreetViewPanorama mStreetViewPanorama;
+ private StreetViewPanorama streetViewPanorama;
- private Marker mMarker;
+ private Marker marker;
@Override
protected void onCreate(final Bundle savedInstanceState) {
@@ -67,13 +67,13 @@ public class SplitStreetViewPanoramaAndMapDemoActivity extends AppCompatActivity
new OnStreetViewPanoramaReadyCallback() {
@Override
public void onStreetViewPanoramaReady(StreetViewPanorama panorama) {
- mStreetViewPanorama = panorama;
- mStreetViewPanorama.setOnStreetViewPanoramaChangeListener(
+ streetViewPanorama = panorama;
+ streetViewPanorama.setOnStreetViewPanoramaChangeListener(
SplitStreetViewPanoramaAndMapDemoActivity.this);
// Only need to set the position once as the streetview fragment will maintain
// its state.
if (savedInstanceState == null) {
- mStreetViewPanorama.setPosition(SYDNEY);
+ streetViewPanorama.setPosition(SYDNEY);
}
}
});
@@ -85,7 +85,7 @@ public class SplitStreetViewPanoramaAndMapDemoActivity extends AppCompatActivity
public void onMapReady(GoogleMap map) {
map.setOnMarkerDragListener(SplitStreetViewPanoramaAndMapDemoActivity.this);
// Creates a draggable marker. Long press to drag.
- mMarker = map.addMarker(new MarkerOptions()
+ marker = map.addMarker(new MarkerOptions()
.position(markerPosition)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.pegman))
.draggable(true));
@@ -96,13 +96,13 @@ public class SplitStreetViewPanoramaAndMapDemoActivity extends AppCompatActivity
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
- outState.putParcelable(MARKER_POSITION_KEY, mMarker.getPosition());
+ outState.putParcelable(MARKER_POSITION_KEY, marker.getPosition());
}
@Override
public void onStreetViewPanoramaChange(StreetViewPanoramaLocation location) {
if (location != null) {
- mMarker.setPosition(location.position);
+ marker.setPosition(location.position);
}
}
@@ -112,7 +112,7 @@ public class SplitStreetViewPanoramaAndMapDemoActivity extends AppCompatActivity
@Override
public void onMarkerDragEnd(Marker marker) {
- mStreetViewPanorama.setPosition(marker.getPosition(), 150);
+ streetViewPanorama.setPosition(marker.getPosition(), 150);
}
@Override
diff --git a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/DemoDetailsList.kt b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/DemoDetailsList.kt
index 0977c99b..4f24d905 100644
--- a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/DemoDetailsList.kt
+++ b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/DemoDetailsList.kt
@@ -45,6 +45,10 @@ class DemoDetailsList {
R.string.street_view_panorama_navigation_demo_label,
R.string.street_view_panorama_navigation_demo_details,
StreetViewPanoramaNavigationDemoActivity::class.java),
+ DemoDetails(
+ R.string.split_street_view_panorama_and_map_demo_label,
+ R.string.split_street_view_panorama_and_map_demo_details,
+ SplitStreetViewPanoramaAndMapDemoActivity::class.java),
DemoDetails(R.string.tags_demo_label, R.string.tags_demo_details,
TagsDemoActivity::class.java),
DemoDetails(R.string.ui_settings_demo_label, R.string.ui_settings_demo_details,
diff --git a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/SplitStreetViewPanoramaAndMapDemoActivity.kt b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/SplitStreetViewPanoramaAndMapDemoActivity.kt
new file mode 100644
index 00000000..cca60595
--- /dev/null
+++ b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/SplitStreetViewPanoramaAndMapDemoActivity.kt
@@ -0,0 +1,88 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package com.example.kotlindemos
+
+import android.os.Bundle
+import androidx.appcompat.app.AppCompatActivity
+import com.google.android.gms.maps.GoogleMap.OnMarkerDragListener
+import com.google.android.gms.maps.StreetViewPanorama
+import com.google.android.gms.maps.StreetViewPanorama.OnStreetViewPanoramaChangeListener
+import com.google.android.gms.maps.SupportMapFragment
+import com.google.android.gms.maps.SupportStreetViewPanoramaFragment
+import com.google.android.gms.maps.model.*
+
+/**
+ * This shows how to create a simple activity with streetview and a map
+ */
+class SplitStreetViewPanoramaAndMapDemoActivity : AppCompatActivity(),
+ OnMarkerDragListener, OnStreetViewPanoramaChangeListener {
+ var streetViewPanorama: StreetViewPanorama? = null
+ var marker: Marker? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.split_street_view_panorama_and_map_demo)
+ val markerPosition = savedInstanceState?.getParcelable(MARKER_POSITION_KEY) ?: SYDNEY
+
+ val streetViewPanoramaFragment =
+ supportFragmentManager.findFragmentById(R.id.streetviewpanorama) as SupportStreetViewPanoramaFragment?
+ streetViewPanoramaFragment?.getStreetViewPanoramaAsync { panorama ->
+ streetViewPanorama = panorama
+ streetViewPanorama?.setOnStreetViewPanoramaChangeListener(
+ this@SplitStreetViewPanoramaAndMapDemoActivity
+ )
+ // Only need to set the position once as the streetview fragment will maintain
+ // its state.
+ savedInstanceState ?: streetViewPanorama?.setPosition(SYDNEY)
+ }
+ val mapFragment =
+ supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment?
+ mapFragment?.getMapAsync { map ->
+ map.setOnMarkerDragListener(this@SplitStreetViewPanoramaAndMapDemoActivity)
+ // Creates a draggable marker. Long press to drag.
+ marker = map.addMarker(
+ MarkerOptions()
+ .position(markerPosition)
+ .icon(BitmapDescriptorFactory.fromResource(R.drawable.pegman))
+ .draggable(true)
+ )
+ }
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ outState.putParcelable(
+ MARKER_POSITION_KEY,
+ marker?.position
+ )
+ }
+
+ override fun onStreetViewPanoramaChange(location: StreetViewPanoramaLocation) {
+ marker?.position = location.position
+ }
+
+ override fun onMarkerDragStart(marker: Marker) {}
+ override fun onMarkerDragEnd(marker: Marker) {
+ streetViewPanorama?.setPosition(marker.position, 150)
+ }
+
+ override fun onMarkerDrag(marker: Marker) {}
+
+ companion object {
+ private const val MARKER_POSITION_KEY = "MarkerPosition"
+
+ // George St, Sydney
+ private val SYDNEY = LatLng(-33.87365, 151.20689)
+ }
+}
\ No newline at end of file
diff --git a/ApiDemos/kotlin/app/src/gms/res/layout/split_street_view_panorama_and_map_demo.xml b/ApiDemos/kotlin/app/src/gms/res/layout/split_street_view_panorama_and_map_demo.xml
new file mode 100644
index 00000000..2a03e73a
--- /dev/null
+++ b/ApiDemos/kotlin/app/src/gms/res/layout/split_street_view_panorama_and_map_demo.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ApiDemos/kotlin/app/src/main/AndroidManifest.xml b/ApiDemos/kotlin/app/src/main/AndroidManifest.xml
index 869bfbed..22c37e68 100644
--- a/ApiDemos/kotlin/app/src/main/AndroidManifest.xml
+++ b/ApiDemos/kotlin/app/src/main/AndroidManifest.xml
@@ -57,6 +57,7 @@
+
\ No newline at end of file
diff --git a/ApiDemos/kotlin/app/src/main/res/drawable-hdpi/pegman.png b/ApiDemos/kotlin/app/src/main/res/drawable-hdpi/pegman.png
new file mode 100644
index 00000000..9508e910
Binary files /dev/null and b/ApiDemos/kotlin/app/src/main/res/drawable-hdpi/pegman.png differ
diff --git a/ApiDemos/kotlin/app/src/main/res/drawable-mdpi/pegman.png b/ApiDemos/kotlin/app/src/main/res/drawable-mdpi/pegman.png
new file mode 100644
index 00000000..bcb7aee4
Binary files /dev/null and b/ApiDemos/kotlin/app/src/main/res/drawable-mdpi/pegman.png differ
diff --git a/ApiDemos/kotlin/app/src/main/res/drawable-xhdpi/pegman.png b/ApiDemos/kotlin/app/src/main/res/drawable-xhdpi/pegman.png
new file mode 100644
index 00000000..f1c8b5cc
Binary files /dev/null and b/ApiDemos/kotlin/app/src/main/res/drawable-xhdpi/pegman.png differ
diff --git a/ApiDemos/kotlin/app/src/main/res/drawable-xxhdpi/pegman.png b/ApiDemos/kotlin/app/src/main/res/drawable-xxhdpi/pegman.png
new file mode 100644
index 00000000..8ff1e335
Binary files /dev/null and b/ApiDemos/kotlin/app/src/main/res/drawable-xxhdpi/pegman.png differ
diff --git a/ApiDemos/kotlin/app/src/main/res/values/strings.xml b/ApiDemos/kotlin/app/src/main/res/values/strings.xml
index cc45be76..a27be7d7 100644
--- a/ApiDemos/kotlin/app/src/main/res/values/strings.xml
+++ b/ApiDemos/kotlin/app/src/main/res/values/strings.xml
@@ -143,6 +143,10 @@
Go to San Francisco
Go to Santorini
+
+ Street View Panorama and Map
+ Demonstrates how to show a Street View panorama and map.
+
Tags
Demonstrates how to get and set tags on API objects.