Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!--
~ Copyright 2025 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
~
~ https://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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M280,800L200,800L200,720L280,720L280,800ZM280,640L200,640L200,560L280,560L280,640ZM280,480L200,480L200,400L280,400L280,480ZM440,800L360,800L360,720L440,720L440,800ZM440,640L360,640L360,560L440,560L440,640ZM440,480L360,480L360,400L440,400L440,480ZM440,320L360,320L360,240L440,240L440,320ZM600,800L520,800L520,720L600,720L600,800ZM600,640L520,640L520,560L600,560L600,640ZM600,480L520,480L520,400L600,400L600,480ZM600,320L520,320L520,240L600,240L600,320ZM760,800L680,800L680,720L760,720L760,800ZM760,640L680,640L680,560L760,560L760,640ZM760,480L680,480L680,400L760,400L760,480ZM280,320L200,320L200,240L280,240L280,320ZM520,160L280,160Q247,160 223.5,183.5Q200,207 200,240L200,320L120,320Q87,320 63.5,343.5Q40,367 40,400L40,880L920,880L920,400Q920,367 896.5,343.5Q873,320 840,320L760,320L760,240Q760,207 736.5,183.5Q713,160 680,160L520,160ZM120,800L120,400L200,400L200,800L120,800ZM280,800L280,400L360,400L360,800L280,800ZM440,800L440,400L440,240L520,240L520,800L440,800ZM600,800L600,240L680,240L680,400L680,800L600,800ZM760,800L760,400L840,400L840,800L760,800ZM440,800L440,400L440,400L440,800Z"/>
</vector>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!--
~ Copyright 2025 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
~
~ https://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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q568,800 642,756Q716,712 760,634L618,492L618,440Q618,407 594.5,383.5Q571,360 538,360L458,360L458,280Q458,247 434.5,223.5Q411,200 378,200L266,200Q226,236 195,283Q164,330 160,388L218,388Q251,388 274.5,411.5Q298,435 298,468L298,520L378,520Q395,520 406.5,531.5Q418,543 418,560L418,660L538,660L538,716L402,784Q440,796 480,800ZM318,740L458,670L458,560Q458,543 446.5,531.5Q435,520 418,520L218,520Q218,487 194.5,463.5Q171,440 138,440L138,440Q145,510 178.5,571Q212,632 268,676L318,626L318,740ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Z"/>
</vector>
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,31 @@
android:layout_height="match_parent"
>

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/top_bar"
style="@style/Widget.MaterialComponents.Toolbar.Primary"
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#80BB86FC"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:title="@string/feature_title_overview_hello_3d_map"
app:titleTextColor="?attr/colorOnPrimary"
android:fitsSystemWindows="true"
/>
app:elevation="0dp"
>

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/top_bar"
style="@style/Widget.MaterialComponents.Toolbar.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
app:title="@string/feature_title_overview_hello_3d_map"
app:titleTextColor="@android:color/white"
/>
</com.google.android.material.appbar.AppBarLayout>

<com.google.android.gms.maps3d.Map3DView
android:id="@+id/map3dView"
map3d:mode="hybrid"
map3d:mode="satellite"
map3d:centerLat="40.748392"
map3d:centerLng="-73.986060"
map3d:centerAlt="175"
Expand All @@ -52,12 +61,12 @@
map3d:maxHeading="360"
map3d:minTilt="0"
map3d:maxTilt="90"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top_bar"
app:layout_constraintTop_toTopOf="parent"
/>

<com.google.android.material.button.MaterialButton
Expand Down Expand Up @@ -90,7 +99,45 @@
android:visibility="gone"
/>

<com.google.android.material.button.MaterialButton
android:id="@+id/fly_berlin_button"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/public_24px"
android:contentDescription="Fly to Berlin"
android:visibility="gone"
/>

<com.google.android.material.button.MaterialButton
android:id="@+id/fly_nyc_button"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/location_city_24px"
android:contentDescription="Fly to NYC"
android:visibility="gone"
/>

<com.google.android.material.button.MaterialButton
android:id="@+id/fly_tokyo_button"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="48dp"
android:minHeight="48dp"
android:padding="0dp"
android:insetBottom="0dp"
android:insetTop="0dp"
android:alpha="0.2"
android:text="🦖"
android:textSize="20sp"
android:contentDescription="Fly to Tokyo"
android:visibility="gone"
/>

<androidx.constraintlayout.helper.widget.Flow
android:id="@+id/button_flow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
Expand All @@ -101,7 +148,7 @@
app:flow_horizontalStyle="packed"
app:flow_horizontalBias="0"
app:flow_horizontalGap="8dp"
app:constraint_referenced_ids="stop_button,reset_view_button,snapshot_button"
app:constraint_referenced_ids="fly_tokyo_button,fly_berlin_button,fly_nyc_button,stop_button,reset_view_button,snapshot_button"
/>

</androidx.constraintlayout.widget.ConstraintLayout>
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

<com.google.android.gms.maps3d.Map3DView
android:id="@+id/map3dView"
map3d:mapId="bcce776b92de1336e22c569f"
map3d:mode="hybrid"
map3d:centerLat="40.748392"
map3d:centerLng="-73.986060"
Expand Down
72 changes: 72 additions & 0 deletions Maps3DSamples/ApiDemos/common/src/main/res/layout/main.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map3d="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:filterTouchesWhenObscured="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9"
android:orientation="vertical"
android:background="#000000">
<com.google.android.gms.maps3d.Map3DView
android:id="@+id/map3dView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="vertical"
map3d:centerAlt="10000"
map3d:centerLat="37.841157"
map3d:centerLng="-122.551679"
map3d:defaultUiDisabled="false"
map3d:heading="330"
map3d:maxAltitude="1000000"
map3d:maxHeading="360"
map3d:maxTilt="90"
map3d:minAltitude="0"
map3d:minHeading="0"
map3d:minTilt="0"
map3d:range="2000"
map3d:roll="0"
map3d:tilt="75"/>
</LinearLayout>
<Button
android:id="@+id/toggleCameraTiltHeadingRollRangeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:gravity="center">
<Button
android:id="@+id/flyToButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fly to" />
<Button
android:id="@+id/updateCameraButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="camera" />
<Button
android:id="@+id/flyAroundButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="around" />
<ToggleButton
android:id="@+id/toggleCameraRestrictionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOff="unrestricted"
android:textOn="restricted"
android:checked="true"
/>
</LinearLayout>
</LinearLayout>
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
<string name="feature_title_polygons">Polygons</string>
<string name="feature_title_polylines">Polylines</string>
<string name="feature_title_3d_models">3D models</string>
<string name="feature_title_popovers">Popovers</string>

<string name="feature_not_implemented">Coming soon!</string>

Expand Down
13 changes: 13 additions & 0 deletions Maps3DSamples/ApiDemos/gradle/gradle-daemon-jvm.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#This file is generated by updateDaemonJvm
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/ff1d4fc92bcfc9d3799beabb4e70cfa3/redirect
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/879378f84c64b2c76003b97a32968399/redirect
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/ff1d4fc92bcfc9d3799beabb4e70cfa3/redirect
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/879378f84c64b2c76003b97a32968399/redirect
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/70ee42f1b0395356c016dbcb3e88f71d/redirect
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/ee5178090598fb4291558827b9f00e0d/redirect
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/ff1d4fc92bcfc9d3799beabb4e70cfa3/redirect
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/879378f84c64b2c76003b97a32968399/redirect
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/3dc48436acf46a9c2958682158988183/redirect
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/d7d142be6e19e13dff41787c063f3185/redirect
toolchainVendor=JETBRAINS
toolchainVersion=21
12 changes: 6 additions & 6 deletions Maps3DSamples/ApiDemos/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@ compileSdk = "36"
minSdk = "26"
targetSdk = "36"

activityCompose = "1.11.0"
activityCompose = "1.12.3"
agp = "8.13.2"
appcompat = "1.7.1"
composeBom = "2025.09.00"
composeBom = "2026.01.01"
coreKtx = "1.17.0"
desugar_jdk_libs = "2.1.5"
espressoCore = "3.7.0"
junit = "4.13.2"
junitVersion = "1.3.0"
kotlin = "2.2.20"
lifecycleRuntimeKtx = "2.9.4"
kotlin = "2.3.0"
lifecycleRuntimeKtx = "2.10.0"
material = "1.13.0"

playServicesBase = "18.8.0"
playServicesMaps3d = "0.1.0"
playServicesBase = "18.10.0"
playServicesMaps3d = "0.2.0"
secretsGradlePlugin = "2.0.1"
truth = "1.4.5"
uiautomator = "2.3.0"
Expand Down
3 changes: 0 additions & 3 deletions Maps3DSamples/ApiDemos/java-app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
* limitations under the License.
*/

import org.gradle.api.GradleException
import java.io.File

// Check for secrets.properties file before proceeding with build tasks.
val secretsFile = rootProject.file("secrets.properties")
val isCI = System.getenv("CI")?.toBoolean() ?: false
Expand Down
Loading
Loading