{"id":15297034,"url":"https://github.com/mapbox/mapbox-plugins-android","last_synced_at":"2025-04-04T14:07:59.651Z","repository":{"id":20752510,"uuid":"87212987","full_name":"mapbox/mapbox-plugins-android","owner":"mapbox","description":"Mapbox Android Plugins are a collection of libraries that extend our other SDKs, helping you design powerful mapping features while the plugins handle most of the heavy lifting.","archived":false,"fork":false,"pushed_at":"2021-10-04T21:43:35.000Z","size":4282,"stargazers_count":241,"open_issues_count":83,"forks_count":119,"subscribers_count":133,"default_branch":"main","last_synced_at":"2025-03-28T13:08:55.742Z","etag":null,"topics":["android","mapbox","maps"],"latest_commit_sha":null,"homepage":"https://www.mapbox.com/android-docs/plugins/overview/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mapbox.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-04T16:56:50.000Z","updated_at":"2025-01-14T12:54:04.000Z","dependencies_parsed_at":"2022-07-21T08:02:31.719Z","dependency_job_id":null,"html_url":"https://github.com/mapbox/mapbox-plugins-android","commit_stats":null,"previous_names":[],"tags_count":86,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmapbox-plugins-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmapbox-plugins-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmapbox-plugins-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmapbox-plugins-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mapbox","download_url":"https://codeload.github.com/mapbox/mapbox-plugins-android/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190250,"owners_count":20898702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["android","mapbox","maps"],"created_at":"2024-09-30T19:14:44.104Z","updated_at":"2025-04-04T14:07:59.621Z","avatar_url":"https://github.com/mapbox.png","language":"Java","readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://www.mapbox.com/android-docs/plugins/overview/\"\u003e\u003cimg src=\"https://github.com/mapbox/mapbox-plugins-android/blob/master/.github/mbx-plugins-logo.png\" alt=\"Mapbox Plugins\" width=\"500\"\u003e\u003c/a\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003ePlugins are single-purpose libraries built on top of the \u003ca href=\"https://www.mapbox.com/android-docs/\"\u003eMapbox Maps SDK for Android\u003c/a\u003e that you can include in your apps like any other Android dependency\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://circleci.com/gh/mapbox/mapbox-plugins-android\"\u003e\n    \u003cimg src=\"https://circleci.com/gh/mapbox/mapbox-plugins-android.svg?style=shield\u0026circle-token=:circle-token\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\n# Mapbox Plugins for Android\n\nPlugins are single-purpose libraries built on top of the [Mapbox Maps SDK for Android](https://www.mapbox.com/android-docs/) that you can include in your apps like any other Android dependency. You'll find [documentation for each plugin on our Android documentation website](https://www.mapbox.com/android-docs/plugins/overview/). A full list of the current plugins is available below.\n\n## Available Plugins\n \n* [**Annotation:** Simplify the way to set and adjust the visual properties of annotations on a Mapbox map.](https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-annotation)\n\n* [**MarkerView:** Add map markers that are Android views.](https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-markerview)\n \n* [**Traffic:** Adds a real-time traffic layer to any Mapbox base map.](https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-traffic)\n\n* [**Location layer:** [Deprecated] Add a location marker on your map indicating the user's location.](https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-locationlayer)\n\n* [**Building:** Add extruded \"3D\" buildings in your map style.](https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-building)\n\n* [**Offline:** Download maps tiles and manage downloaded regions for situations when a user's device doesn't have an internet connection.](https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-offline)\n\n* [**Places:** Add location search to your app with beautiful UI.](https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-places)\n\n* [**Localization:** Have your map's text automatically match the device's default language setting.](https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-localization)\n\n* [**Scale bar:** Provide a visual map scale bar for your users to determine distance.](https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-scalebar)\n\n## Installing a plugin\n\nBy using a plugin, you also have to include the Mapbox Maps SDK for Android which means that you'll need to setup your project to use the Maps SDK if you haven't already. Head over to the [overview page for the Maps SDK](https://www.mapbox.com/android-docs/map-sdk/overview/) to learn more.\n\nNote that depending on the plugin you add, there might be required permissions and additional setup steps. You'll find more information on whether or not more configuration steps are involved when looking at the specific plugin documentation.\n\n1. Start Android Studio\n2. Open up your application's `build.gradle`\n3. Make sure that your project's `minSdkVersion` is at API 14 or higher\n4. Under dependencies, add a new build rule for the latest plugin version you are trying to use.\n```gradle\nrepositories {\n  mavenCentral()\n  maven {\n    url 'https://api.mapbox.com/downloads/v2/releases/maven'\n    authentication {\n      basic(BasicAuthentication)\n    }\n    credentials {\n      username \"mapbox\"\n      password = \"SDK_REGISTRY_TOKEN\"\n    }\n  }\n}\n\ndependencies {\n  implementation 'com.mapbox.mapboxsdk:{PLUGIN_NAME}-v{MAJOR_MAPS_SDK_VERSION_NUMBER}:PLUGIN_VERSION_NUMBER'\n}\n```\n5. Replace SDK_REGISTRY_TOKEN with a Mapbox access token that has the downloads scope\n\nPlugin artifacts are versioned based on the major release of the Maps SDK for Android, which means, that each artifact's name has a major version of the Maps SDK it's compatible with appended.\n\n5. Click the Sync Project with Gradle Files near the toolbar in Studio.\n\n## Maps SDK compatibility\n\nThe Mapbox Plugins for Android are heavily dependent on the major semantic versioning number of the Maps SDK. They either won't compile or hide runtime bugs when paired with a different major version of the Maps SDK. Each plugin's dependency name has a `vX` suffix which states the major version of the Maps SDK that the plugin is compatible with. This suffix makes the transition between versions easier and more educated without the need to jump into changelogs and compare repositories.\n\n## Help and Usage\n\nA plugin is simply a library module built on top of the Mapbox Maps SDK for Android. Plugins can be easy to use. Currently, we are not requiring plugins to register themselves or to implement any specific interfaces so that they're simple to consume.\n\n### Test app\n\nThis repository includes an app with examples showing how you can use each plugin.\n- To access ready-to-use snippets, [see its code here](https://github.com/mapbox/mapbox-plugins-android/tree/master/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp).\n- To run the application locally, open the [`PluginApplication`](https://github.com/mapbox/mapbox-plugins-android/blob/4ff768983323cc4a57791bcb577639109e4fd9ce/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/PluginApplication.kt) file and replace `mapbox_access_token` with your own Mapbox token from [https://account.mapbox.com](https://account.mapbox.com).\n\nThis might change in the future as we build more plugins and learn how you use them. We'd love to [hear your feedback](https://github.com/mapbox/mapbox-plugins-android/issues).\n\n## Why Plugins?\n\nSplitting specific functionality into plugins makes our Maps SDK lighter and nimble for you to use, and it also lets us iterate faster. We can release plugins more often than the SDK, which requires a slower pace due to its larger codebase.\n\nThe Mapbox Android team creates plugins but this plugins repository is an open-source project similar to the various Mapbox SDKs for Android.\nPlugins' lightweight nature makes them much easier for you and anyone else to contribute rather than trying to add the same feature to the more robust Maps SDK. The Mapbox team can also more easily accept contributed plugins and keep the plugin list growing.\n\n## Contributing\n\nWe welcome contributions to this plugin repository!\n\nIf you're interested in building and sharing your own plugin, please read [the contribution guide](https://github.com/mapbox/mapbox-plugins-android/blob/master/CONTRIBUTING.md) to learn how to get started.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbox%2Fmapbox-plugins-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapbox%2Fmapbox-plugins-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbox%2Fmapbox-plugins-android/lists"}