{"id":28711760,"url":"https://github.com/googlemaps-samples/android-maps3d-samples","last_synced_at":"2026-04-02T14:55:32.080Z","repository":{"id":295739675,"uuid":"982400001","full_name":"googlemaps-samples/android-maps3d-samples","owner":"googlemaps-samples","description":"Sample applications demonstrating the Photorealistic 3D Tiles and 3D map features of the Maps SDK for Android.","archived":false,"fork":false,"pushed_at":"2026-03-24T17:39:21.000Z","size":12776,"stargazers_count":9,"open_issues_count":8,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-25T21:45:54.414Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/googlemaps-samples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-12T20:32:26.000Z","updated_at":"2026-03-24T16:40:14.000Z","dependencies_parsed_at":"2026-01-08T01:03:54.267Z","dependency_job_id":null,"html_url":"https://github.com/googlemaps-samples/android-maps3d-samples","commit_stats":null,"previous_names":["googlemaps-samples/android-maps3d-samples"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/googlemaps-samples/android-maps3d-samples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlemaps-samples%2Fandroid-maps3d-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlemaps-samples%2Fandroid-maps3d-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlemaps-samples%2Fandroid-maps3d-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlemaps-samples%2Fandroid-maps3d-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/googlemaps-samples","download_url":"https://codeload.github.com/googlemaps-samples/android-maps3d-samples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlemaps-samples%2Fandroid-maps3d-samples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31308451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-14T22:11:22.953Z","updated_at":"2026-04-02T14:55:32.075Z","avatar_url":"https://github.com/googlemaps-samples.png","language":"Kotlin","readme":"[![Build](https://github.com/googlemaps-samples/android-maps3d-samples/actions/workflows/build.yml/badge.svg)](https://github.com/googlemaps-samples/android-maps3d-samples/actions/workflows/build.yml)\n\n![Contributors](https://img.shields.io/github/contributors/googlemaps-samples/android-maps3d-samples?color=green)\n[![License](https://img.shields.io/github/license/googlemaps-samples/android-maps3d-samples?color=blue)][license]\n[![StackOverflow](https://img.shields.io/stackexchange/stackoverflow/t/google-maps?color=orange\u0026label=google-maps\u0026logo=stackoverflow)](https://stackoverflow.com/questions/tagged/android+google-maps)\n[![Discord](https://img.shields.io/discord/676948200904589322?color=6A7EC2\u0026logo=discord\u0026logoColor=ffffff)][Discord server]\n\n# Google Maps 3D SDK for Android Samples\n\n\n| Hello Map                                                                            | Camera                                                                                            | Markers                                   | Polygons                                  | Polylines                                 | Models                                  |\n|:-------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------| :---------------------------------------- | :---------------------------------------- | :---------------------------------------- | :---------------------------------------- |\n| \u003cimg src=\"images/HelloMapActivity_framed.png\" alt=\"Hello Map Activity\" width=\"121\"/\u003e | \u003cimg src=\"images/CameraControlsActivity_framed.png\" alt=\"Camera Controls Activity\" width=\"121\"/\u003e | \u003cimg src=\"images/MarkersActivity_framed.png\" alt=\"Markers Activity\" width=\"121\"/\u003e | \u003cimg src=\"images/PolygonsActivity_framed.png\" alt=\"Polygons Activity\" width=\"121\"/\u003e | \u003cimg src=\"images/PolylinesActivity_framed.png\" alt=\"Polylines Activity\" width=\"121\"/\u003e | \u003cimg src=\"images/ModelsActivity_framed.png\" alt=\"Models Activity\" width=\"121\"/\u003e |\n\n## Description\n\nThe [Google Maps Platform Maps3D SDK for Android](https://developers.google.com/maps/documentation/maps-3d/android-sdk) (Experimental Preview) \nempowers developers to bring immersive, real-world 3D experiences into their Android applications. This SDK allows you to render detailed 3D buildings, \nterrain, and landmarks, offering users a richer and more interactive way to explore geographical data. Key features include programmatic camera control \nfor cinematic fly-throughs, the ability to add 3D markers and models to the map, and drawing custom polylines and polygons in a 3D space.\n\nThis repository provides a collection of sample applications to help you get started and explore the capabilities of the Maps3D SDK:\n\n* **[Maps3DSamples/ApiDemos](Maps3DSamples/ApiDemos)**: This module showcases the fundamental API features using Kotlin and traditional\nAndroid Views. It's a great starting point to understand core concepts like map instantiation, camera manipulation, and adding various map objects.\n* **[Maps3DSamples/advanced](Maps3DSamples/advanced)**: For developers using Jetpack Compose, this sample demonstrates\nhow to integrate the Maps3D SDK into a declarative UI. It utilizes helper classes to bridge the SDK's View-based SDK with Compose, offering a more modern\napproach to building UIs with 3D maps.\n* **[snippets](snippets)**: A collection of standalone, extraction-ready code snippets demonstrating standard integration endpoints in both Kotlin and Java. Includes a coordinate checklist mapping tracker listed in [CATALOG.md](snippets/CATALOG.md).\n\n## View-based Kotlin Samples\n\n**[Maps3DSamples/ApiDemos]([Maps3DSamples/ApiDemos])**: This repo contains the following samples:\n\n**[Maps3DSamples/ApiDemos/kotlin-app](Maps3DSamples/ApiDemos/kotlin-app)**: Demonstrates various features of the **Maps3D SDK for Android**\nusing Kotlin and Android Views. This module includes examples for:\n\n* Basic map setup (\"Hello Map\")\n* Camera controls and restrictions\n* Adding and customizing markers\n* Drawing polygons and polylines\n* Loading and displaying 3D models\n\nThe [Maps3DSamples/ApiDemos/common](Maps3DSamples/ApiDemos/common) module contains shared utilities and layouts.\n\n## Jetpack Compose Samples\n\n**[Maps3DSamples/advanced](Maps3DSamples/advanced)** demonstrates options for integrating the Maps3D SDK into a Jetpack Compose UI.\nIt also has [Map3dViewModel](Maps3DSamples/advanced/app/src/main/java/com/example/advancedmaps3dsamples/common/Map3dViewModel.kt) which demonstrates how to\ncreate an abstract base class for view models needing to interact with the Maps3DView via a GoogleMap3D.\n\n## Requirements\n\nTo run the samples, you will need:\n\n- To [sign up with Google Maps Platform] and enable **Maps3D API for Android**. \n- An [API key] associated with the project above. Follow the [API key instructions] if you're new to the process.\n- Copy `Maps3DSamples/ApiDemos/local.defaults.properties` to `Maps3DSamples/ApiDemos/secrets.properties` and set the value of `MAPS3D_API_KEY` to your API key.\n- (for the advanced sample, copy `Maps3DSamples/advanced/local.defaults.properties` to `Maps3DSamples/advanced/secrets.properties` and set the value of `MAPS3D_API_KEY` to your API key.)\n- All samples require up-to-date versions of the Android build tools and the Android support repository.\n\n## Gemini Code Assist Integration\n\nThis repository includes custom instructions (Skills) for **Gemini Code Assist** to help generate code adhering to Maps3D best practices. \n\nThe skill is located in the `.gemini/skills/android-maps3d-sdk` directory. You should install this skill into your working environment following the instructions for your specific setup. \n\nAs a reference, you can view the [Gemini CLI documentation](https://geminicli.com/) for one way to use local skills. Please note that your specific AI agent or development environment may require different installation steps.\n\n## Running the sample(s)\n\n1.  Download the samples by cloning this repository:\n    ```bash\n    git clone https://github.com/googlemaps-samples/android-maps3d-samples.git\n    ```\n2.  In the welcome screen of Android Studio, select \"Open\".\n3.  Navigate to the root directory of this cloned repository and select it, or navigate into a specific sample directory, open either of the base projects,`Maps3DSamples/ApiDemos` or `Maps3DSamples/advanced`.\n\nAlternatively, use the `gradlew build` command within a sample's directory to build the project directly or download an APK\nunder [releases](https://github.com/googlemaps/android-maps3d-samples/releases) (if available for the specific sample).\n\n## Contributing\n\nContributions are welcome and encouraged! If you'd like to contribute, send us a [pull request] and refer to our [code of conduct] and [contributing guide].\n\n## Terms of Service\n\nThis sample uses Google Maps Platform services. Use of Google Maps Platform services through this sample is subject to the Google Maps Platform [Terms of Service].\n\nIf your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](https://developers.google.com/maps/comms/eea/faq).\n\nThis sample is not a Google Maps Platform Core Service. Therefore, the Google Maps Platform Terms of Service (e.g. Technical Support Services, Service Level Agreements, and Deprecation Policy) do not apply to the code in this sample.\n\n## Support\n\nThis sample is offered via an open source [license]. It is not governed by the Google Maps Platform Support [Technical Support Services Guidelines], the [SLA], or the [Deprecation Policy]. However, any Google Maps Platform services used by the sample remain subject to the Google Maps Platform Terms of Service.\n\nIf you find a bug, or have a feature request, please [file an issue] on GitHub. If you would like to get answers to technical questions from other Google Maps Platform developers, ask through one of our [developer community channels]. If you'd like to contribute, please check the [contributing guide].\n\nYou can also discuss this sample on our [Discord server].\n\n[android-sdk]: https://developers.google.com/maps/documentation/android-sdk\n[API key]: https://developers.google.com/maps/documentation/android-sdk/get-api-key\n[API key instructions]: https://developers.google.com/maps/documentation/android-sdk/config#step_3_add_your_api_key_to_the_project\n\n[code of conduct]: ?tab=coc-ov-file#readme\n[contributing guide]: CONTRIBUTING.md\n[Deprecation Policy]: https://cloud.google.com/maps-platform/terms\n[developer community channels]: https://developers.google.com/maps/developer-community\n[Discord server]: https://discord.gg/hYsWbmk\n[file an issue]: https://github.com/googlemaps-samples/android-maps3d-samples/issues/new/choose\n[license]: LICENSE\n[pull request]: https://github.com/googlemaps-samples/android-maps3d-samples/compare\n[project]: https://developers.google.com/maps/documentation/android-sdk/cloud-setup#enabling-apis\n[Sign up with Google Maps Platform]: https://console.cloud.google.com/google/maps-apis/start\n[SLA]: https://cloud.google.com/maps-platform/terms/sla\n[Technical Support Services Guidelines]: https://cloud.google.com/maps-platform/terms/tssg\n[Terms of Service]: https://cloud.google.com/maps-platform/terms\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglemaps-samples%2Fandroid-maps3d-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgooglemaps-samples%2Fandroid-maps3d-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglemaps-samples%2Fandroid-maps3d-samples/lists"}