{"_id":"@capawesome/capacitor-maplibre","_rev":"4-c8ed2d043540180aea41688b5dd1c35c","name":"@capawesome/capacitor-maplibre","dist-tags":{"latest":"0.2.0"},"versions":{"0.0.0":{"name":"@capawesome/capacitor-maplibre","version":"0.0.0","keywords":["capacitor","plugin","native","maplibre","map","maps","geo"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-maplibre@0.0.0","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/maplibre/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"11999921539e05e14de5003d8f380f1a7be8a647","tarball":"https://registry.npmjs.org/@capawesome/capacitor-maplibre/-/capacitor-maplibre-0.0.0.tgz","fileCount":143,"integrity":"sha512-sY1ll0widhfg9Rql5BvxER3SsU+KGmx5QiKAoD+BRmQolFYOZnC+Jn9C2btMoYxsGRxARmFPcaMEvogFjx9Hfw==","signatures":[{"sig":"MEYCIQCn/i35q8dQr3GMRB1j740G2Ca6q9FmCmKMGdKtLfilzwIhAL8bvfeQiZ2D8ebrUOVhW+EHT8pInfzMOqYIlYTAaSgK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":920315},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"d268e3e175142ea548128a1d6a93d947620c9fc0","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api MapLibrePlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"robingenz","email":"mail@robingenz.dev"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for creating native maps with MapLibre.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"maplibre-gl":"6.3.0"},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.62.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.4.2","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.9.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-maplibre_0.0.0_1786782278976_0.0004877348074305843","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@capawesome/capacitor-maplibre","version":"0.1.0","keywords":["capacitor","plugin","native","maplibre","map","maps","geo"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-maplibre@0.1.0","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/maplibre/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"f2f7ce8a212c126d5aef2c82302b4ae5e078d60a","tarball":"https://registry.npmjs.org/@capawesome/capacitor-maplibre/-/capacitor-maplibre-0.1.0.tgz","fileCount":143,"integrity":"sha512-rLRC1zPhAPsm5ogmFFtezyCFChHU4he50QGlSjuHwBfEkG6oxdIYd7IgnA+j1udXLNuqg0oegWwlqOwo+3Us3g==","signatures":[{"sig":"MEYCIQCAa6w7kP1YWkNyeKwhDU2HSblHGpmHd9eTtis/S7iSvgIhANY3QKjpl+EPUCw6WcfyV5zKGgyfllcCeZyuhR1tn5Li","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-maplibre@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":920407},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"4cb150681f3cbf44e7026419a7756779ac04b831","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api MapLibrePlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a118b83a-96f9-4e2f-8513-0f62e950fe4d"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.17.0","description":"Capacitor plugin for creating native maps with MapLibre.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"maplibre-gl":"6.3.0"},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.62.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.4.2","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.9.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-maplibre_0.1.0_1786811505878_0.9913159813063499","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@capawesome/capacitor-maplibre","version":"0.1.1","keywords":["capacitor","plugin","native","maplibre","map","maps","geo"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-maplibre@0.1.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/maplibre/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"5d1ca6c1ab5f7cb38fff4312860bdd0e62c88d9f","tarball":"https://registry.npmjs.org/@capawesome/capacitor-maplibre/-/capacitor-maplibre-0.1.1.tgz","fileCount":143,"integrity":"sha512-OHO3D7cy438vYz24pjAZjPvWnAWwdNCr97VT+RqFPejUJl+M/HZ844Guw644RiPIhbqw7PjTFdIsFS7jFmWNbg==","signatures":[{"sig":"MEUCIQDy4xyzynYlWDwxXpwfhT7wMSkh/0v9EV1oxqLB8UKdfgIgRXzoc1cRV03IQfeYGyWe3bDk7qb1jlGtb5jdQj0zeZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-maplibre@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":920504},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"7c1937ed10b7de86ca2c1cdc3539a2735fd69a00","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api MapLibrePlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a118b83a-96f9-4e2f-8513-0f62e950fe4d"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.17.0","description":"Capacitor plugin for creating native maps with MapLibre.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"maplibre-gl":"6.3.0"},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.62.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.4.2","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.9.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-maplibre_0.1.1_1788337382684_0.1440455460964889","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@capawesome/capacitor-maplibre","version":"0.2.0","description":"Capacitor plugin for creating native maps with MapLibre.","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","homepage":"https://capawesome.io/docs/sdks/capacitor/maplibre/","repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"funding":[{"type":"github","url":"https://github.com/sponsors/capawesome-team/"},{"type":"opencollective","url":"https://opencollective.com/capawesome"}],"keywords":["capacitor","plugin","native","maplibre","map","maps","geo"],"scripts":{"verify":"npm run verify:ios && npm run verify:android && npm run verify:web","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:web":"npm run build","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","eslint":"eslint . --ext ts","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","docgen":"docgen --api MapLibrePlugin --output-readme README.md --output-json dist/docs.json","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd ..","prepublishOnly":"npm run build"},"devDependencies":{"@capacitor/android":"8.0.0","@capacitor/cli":"8.4.2","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/ios":"8.0.0","@ionic/eslint-config":"0.4.0","eslint":"8.57.0","maplibre-gl":"6.4.1","prettier-plugin-java":"2.9.7","rimraf":"6.1.2","rollup":"4.62.3","swiftlint":"2.0.0","typescript":"5.9.3"},"peerDependencies":{"@capacitor/core":">=8.0.0","maplibre-gl":"^6.4.1"},"peerDependenciesMeta":{"maplibre-gl":{"optional":true}},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"publishConfig":{"access":"public"},"gitHead":"561d36edf0573902ad46867a37062df3744cf090","_id":"@capawesome/capacitor-maplibre@0.2.0","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-Xvc6KsDiteLvLlS3l0ox+SLKo2S3cDtjH1x5jBlce5LEzYt0GKIHrs0WqQvd6kVxdUJbavF364qzSy8qfgL8pA==","shasum":"bb3ed32c1f9aafbc88bd43c0f456655e8a01c55f","tarball":"https://registry.npmjs.org/@capawesome/capacitor-maplibre/-/capacitor-maplibre-0.2.0.tgz","fileCount":143,"unpackedSize":920703,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-maplibre@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID8tky/yTHJLuMo7wlAFaC89WMmOHv1ujiGTXaqUsfg2AiEAxrWtBtyqQZSh6Qb7UjQP4rD+NmFk0xxdDHFe9Ax/ltw="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a118b83a-96f9-4e2f-8513-0f62e950fe4d"}},"directories":{},"maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-maplibre_0.2.0_1789067204132_0.5675771562173899"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-15T08:24:38.779Z","modified":"2026-09-10T19:06:44.708Z","0.0.0":"2026-08-15T08:24:39.121Z","0.1.0":"2026-08-15T16:31:46.046Z","0.1.1":"2026-09-02T08:23:02.807Z","0.2.0":"2026-09-10T19:06:44.303Z"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","homepage":"https://capawesome.io/docs/sdks/capacitor/maplibre/","keywords":["capacitor","plugin","native","maplibre","map","maps","geo"],"repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"description":"Capacitor plugin for creating native maps with MapLibre.","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"readme":"# Capacitor MapLibre Plugin\n\nUnofficial Capacitor plugin to create native [MapLibre](https://maplibre.org/) maps on Android, iOS, and Web.[^1]\n\n<div class=\"capawesome-z29o10a\">\n  <a href=\"https://cloud.capawesome.io/\" target=\"_blank\">\n    <img alt=\"Deliver Live Updates to your Capacitor app with Capawesome Cloud\" src=\"https://cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1\" />\n  </a>\n</div>\n\n## Features\n\nThe Capacitor MapLibre plugin renders interactive maps with the native MapLibre SDKs on Android and iOS, and with MapLibre GL JS on the Web. Here are some of the key features:\n\n- 🗺️ **Native Rendering**: Renders a native map view on Android and iOS instead of a map inside the web view.\n- 🆓 **No API Key**: Built on the open-source MapLibre stack, so no vendor account or API key is required.\n- 🎨 **Map Styles**: Load any MapLibre style from a URL or a JSON string, and swap it at runtime.\n- 🎥 **Camera Controls**: Set center, zoom, bearing and pitch, or fit bounds — animated or instantly.\n- 📍 **Markers**: Add markers with custom icons, anchors, sizes, opacity and rotation, and update them with smooth animations.\n- ✋ **Draggable Markers**: Let users drag markers and react to drag events on Android and Web.\n- 〰️ **Polylines**: Draw and update routes and tracks with custom color, width and opacity.\n- 🧬 **GeoJSON**: Add GeoJSON sources from data or URL and render them with styled line, fill and circle layers.\n- 🧭 **User Location**: Display the location of the user and follow it with course or heading tracking modes.\n- 🎛️ **Gesture Controls**: Enable or disable panning, zooming, rotating and tilting at any time.\n- 🧩 **Multi-Instance**: Create and control multiple maps at the same time by ID.\n- 🪟 **DOM Overlays**: Place HTML elements such as floating action buttons or bottom sheets above the map — they just work.\n- 🔄 **Automatic Sync**: The native map follows the position and scroll offset of its element automatically.\n- 🖥️ **Cross-platform**: Supports Android, iOS, and Web.\n- 📦 **CocoaPods & SPM**: Supports CocoaPods and Swift Package Manager for iOS.\n- 🔁 **Up-to-date**: Always supports the latest Capacitor version.\n\nMissing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!\n\n## Use Cases\n\nThe MapLibre plugin is typically used wherever you want to show geographical data in your app, for example:\n\n- **Delivery & fleet tracking**: Follow vehicles live with animated markers and rotation.\n- **Store & branch locators**: Display locations as markers and zoom to the results of a search.\n- **Outdoor & fitness apps**: Render recorded tracks as polylines and follow the location of the user.\n- **Field service**: Show jobs, areas and routes from GeoJSON data on a native map.\n- **Real estate & travel**: Browse listings on a map with custom styles that match your brand.\n\n## Compatibility\n\n| Plugin Version | Capacitor Version | Status         |\n| -------------- | ----------------- | -------------- |\n| 0.x.x          | >=8.x.x           | Active support |\n\n## Guides\n\n- [A Google Maps Alternative for Capacitor Apps](https://capawesome.io/blog/alternative-to-the-capacitor-google-maps-plugin/): Compares `@capacitor/google-maps` with this plugin — no billing account, no API key, and Web support.\n\n## Installation\n\nYou can use our **AI-Assisted Setup** to install the plugin.\nAdd the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:\n\n```bash\nnpx skills add capawesome-team/skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```\nUse the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-maplibre` plugin in my project.\n```\n\nIf you prefer **Manual Setup**, install the plugin by running the following commands and follow the platform-specific instructions below:\n\n```bash\nnpm install @capawesome/capacitor-maplibre maplibre-gl\nnpx cap sync\n```\n\n### Android\n\nOn Android, the plugin uses the [MapLibre Native SDK for Android](https://github.com/maplibre/maplibre-native).\n\n#### Variables\n\nThis plugin will use the following project variables (defined in your app's `variables.gradle` file):\n\n- `$mapLibreVersion` version of `org.maplibre.gl:android-sdk-vulkan-opengl` (default: `13.5.0`)\n- `$mapLibreAnnotationVersion` version of `org.maplibre.gl:android-plugin-annotation` (default: `4.0.0`)\n\n#### Permissions\n\nLocation permissions are only required if you want to display the location of the user on the map. In that case, add the following elements to your `AndroidManifest.xml` before or after the `application` tag:\n\n```xml\n<!-- Required if you want to display the location of the user on the map. -->\n<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" />\n<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" />\n```\n\n### iOS\n\nOn iOS, the plugin uses the [MapLibre Native SDK for iOS](https://github.com/maplibre/maplibre-native). It can be integrated via Swift Package Manager or CocoaPods.\n\nIf you want to display the location of the user on the map, add the `NSLocationWhenInUseUsageDescription` key to your `Info.plist` file:\n\n```xml\n<key>NSLocationWhenInUseUsageDescription</key>\n<string>The app needs your location to display it on the map.</string>\n```\n\nWithout this key, `checkPermissions()`, `requestPermissions()` and `enableUserLocation(...)` reject with an error.\n\n### Web\n\nThe web implementation uses [MapLibre GL JS](https://maplibre.org/maplibre-gl-js/docs/), which is not bundled with the plugin. Its stylesheet is not bundled either, so you must import it once in your app:\n\n```typescript\nimport 'maplibre-gl/dist/maplibre-gl.css';\n```\n\nWithout the stylesheet, the map canvas and the markers are mispositioned.\n\nThe `maplibre-gl` package is only required on the Web platform. On Android and iOS, the map is rendered by the native MapLibre SDKs.\n\n## Configuration\n\nNo configuration required for this plugin.\n\n## Usage\n\nThe following examples show how to use the plugin.\n\n### Getting started\n\nAdd an **empty** element to your app that defines the position and size of the map:\n\n```html\n<div id=\"map\"></div>\n```\n\n```css\n#map {\n  /* The map must not have a background so that the native map stays visible. */\n  background: transparent;\n  height: 400px;\n  width: 100%;\n}\n```\n\nOn Android and iOS, the map is rendered as a native view **behind** the web view. Your app must therefore fulfill the following contract:\n\n- The map element must be **empty**. Do not render any content into it.\n- The map element **and every ancestor** that covers the map region (including `body`) must have a transparent background (`background: transparent`). Otherwise the web view paints over the native map and the map is not visible.\n\nElements that are not ancestors of the map element, such as floating action buttons or bottom sheets, can be layered above the map as usual. The plugin keeps the position and size of the native map in sync with the map element automatically, including while the page is scrolled or resized.\n\n### Create a map\n\n```typescript\nimport { MapLibre } from '@capawesome/capacitor-maplibre';\n\nconst createMap = async () => {\n  await MapLibre.createMap({\n    center: { latitude: 48.137154, longitude: 11.576124 },\n    elementId: 'map',\n    mapId: 'my-map',\n    styleUrl: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',\n    zoom: 12,\n  });\n};\n```\n\nIf no style is provided, the [MapLibre demo style](https://demotiles.maplibre.org/style.json) is used, which is a test style and not intended for production use (see [FAQ](#where-do-i-get-map-styles-and-do-i-need-an-api-key)).\n\n### Move the camera\n\n```typescript\nimport { MapLibre } from '@capawesome/capacitor-maplibre';\n\nconst moveCamera = async () => {\n  await MapLibre.setCamera({\n    animate: true,\n    animationDuration: 1000,\n    bearing: 30,\n    center: { latitude: 52.520008, longitude: 13.404954 },\n    mapId: 'my-map',\n    pitch: 45,\n    zoom: 11,\n  });\n  await MapLibre.fitBounds({\n    animate: true,\n    bounds: {\n      northeast: { latitude: 55.058347, longitude: 15.041896 },\n      southwest: { latitude: 47.270111, longitude: 5.866342 },\n    },\n    mapId: 'my-map',\n    padding: { bottom: 32, left: 32, right: 32, top: 32 },\n  });\n};\n```\n\n### Add markers\n\n```typescript\nimport { MapLibre, MarkerIconAnchor } from '@capawesome/capacitor-maplibre';\n\nconst addMarker = async () => {\n  await MapLibre.addMarker({\n    mapId: 'my-map',\n    marker: {\n      coordinates: { latitude: 48.137154, longitude: 11.576124 },\n      iconAnchor: MarkerIconAnchor.Center,\n      iconSize: { height: 32, width: 32 },\n      iconUrl: 'https://example.com/marker.png',\n      id: 'my-marker',\n    },\n  });\n};\n\nconst moveMarker = async () => {\n  await MapLibre.updateMarkerById({\n    animate: true,\n    animationDuration: 1000,\n    coordinates: { latitude: 48.370545, longitude: 10.89779 },\n    mapId: 'my-map',\n    markerId: 'my-marker',\n    rotation: 90,\n  });\n};\n\nconst removeMarker = async () => {\n  await MapLibre.removeMarkerById({ mapId: 'my-map', markerId: 'my-marker' });\n};\n```\n\n### Add polylines\n\n```typescript\nimport { MapLibre } from '@capawesome/capacitor-maplibre';\n\nconst addPolyline = async () => {\n  await MapLibre.addPolyline({\n    mapId: 'my-map',\n    polyline: {\n      color: '#3887be',\n      coordinates: [\n        { latitude: 48.137154, longitude: 11.576124 },\n        { latitude: 49.45203, longitude: 11.076665 },\n        { latitude: 52.520008, longitude: 13.404954 },\n      ],\n      id: 'my-polyline',\n      width: 5,\n    },\n  });\n};\n```\n\n### Add GeoJSON data\n\n```typescript\nimport { LayerType, MapLibre } from '@capawesome/capacitor-maplibre';\n\nconst addGeoJson = async () => {\n  await MapLibre.addGeoJsonSource({\n    mapId: 'my-map',\n    sourceId: 'my-source',\n    url: 'https://example.com/routes.geojson',\n  });\n  await MapLibre.addLayer({\n    layerId: 'my-layer',\n    mapId: 'my-map',\n    paint: { lineColor: '#3887be', lineWidth: 4 },\n    sourceId: 'my-source',\n    type: LayerType.Line,\n  });\n};\n```\n\n### Display the location of the user\n\n```typescript\nimport { MapLibre, UserTrackingMode } from '@capawesome/capacitor-maplibre';\n\nconst enableUserLocation = async () => {\n  let status = await MapLibre.checkPermissions();\n  if (status.location === 'prompt') {\n    status = await MapLibre.requestPermissions();\n  }\n  if (status.location !== 'granted') {\n    return;\n  }\n  await MapLibre.enableUserLocation({\n    mapId: 'my-map',\n    trackingMode: UserTrackingMode.Follow,\n  });\n};\n```\n\n### Listen for events\n\n```typescript\nimport { MapLibre } from '@capawesome/capacitor-maplibre';\n\nconst addListeners = async () => {\n  await MapLibre.addListener('mapClick', event => {\n    console.log('Map clicked:', event.coordinates);\n  });\n  await MapLibre.addListener('markerClick', event => {\n    console.log('Marker clicked:', event.markerId);\n  });\n  await MapLibre.addListener('cameraIdle', event => {\n    console.log('Camera idle:', event.camera);\n  });\n};\n```\n\n### Destroy a map\n\n```typescript\nimport { MapLibre } from '@capawesome/capacitor-maplibre';\n\nconst destroyMap = async () => {\n  await MapLibre.destroyMap({ mapId: 'my-map' });\n};\n```\n\n## API\n\n<docgen-index>\n\n* [`addGeoJsonSource(...)`](#addgeojsonsource)\n* [`addLayer(...)`](#addlayer)\n* [`addMarker(...)`](#addmarker)\n* [`addMarkers(...)`](#addmarkers)\n* [`addPolyline(...)`](#addpolyline)\n* [`addPolylines(...)`](#addpolylines)\n* [`checkPermissions()`](#checkpermissions)\n* [`createMap(...)`](#createmap)\n* [`destroyMap(...)`](#destroymap)\n* [`disableUserLocation(...)`](#disableuserlocation)\n* [`elementFromPointResult(...)`](#elementfrompointresult)\n* [`enableUserLocation(...)`](#enableuserlocation)\n* [`fitBounds(...)`](#fitbounds)\n* [`getCamera(...)`](#getcamera)\n* [`removeAllMarkers(...)`](#removeallmarkers)\n* [`removeAllPolylines(...)`](#removeallpolylines)\n* [`removeGeoJsonSourceById(...)`](#removegeojsonsourcebyid)\n* [`removeLayerById(...)`](#removelayerbyid)\n* [`removeMarkerById(...)`](#removemarkerbyid)\n* [`removeMarkersByIds(...)`](#removemarkersbyids)\n* [`removePolylineById(...)`](#removepolylinebyid)\n* [`removePolylinesByIds(...)`](#removepolylinesbyids)\n* [`requestPermissions()`](#requestpermissions)\n* [`setCamera(...)`](#setcamera)\n* [`setFrame(...)`](#setframe)\n* [`setGesturesEnabled(...)`](#setgesturesenabled)\n* [`setStyle(...)`](#setstyle)\n* [`updateGeoJsonSourceById(...)`](#updategeojsonsourcebyid)\n* [`updateMarkerById(...)`](#updatemarkerbyid)\n* [`updatePolylineById(...)`](#updatepolylinebyid)\n* [`addListener('cameraIdle', ...)`](#addlistenercameraidle-)\n* [`addListener('cameraMoveStarted', ...)`](#addlistenercameramovestarted-)\n* [`addListener('elementFromPointRequest', ...)`](#addlistenerelementfrompointrequest-)\n* [`addListener('mapClick', ...)`](#addlistenermapclick-)\n* [`addListener('markerClick', ...)`](#addlistenermarkerclick-)\n* [`addListener('markerDrag', ...)`](#addlistenermarkerdrag-)\n* [`addListener('markerDragEnd', ...)`](#addlistenermarkerdragend-)\n* [`addListener('markerDragStart', ...)`](#addlistenermarkerdragstart-)\n* [`addListener('userLocationChange', ...)`](#addlisteneruserlocationchange-)\n* [`removeAllListeners()`](#removealllisteners)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n* [Enums](#enums)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### addGeoJsonSource(...)\n\n```typescript\naddGeoJsonSource(options: AddGeoJsonSourceOptions) => Promise<void>\n```\n\nAdd a GeoJSON source to the map.\n\nUse `addLayer(...)` to render the data of the source.\n\n| Param         | Type                                                                        |\n| ------------- | --------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#addgeojsonsourceoptions\">AddGeoJsonSourceOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addLayer(...)\n\n```typescript\naddLayer(options: AddLayerOptions) => Promise<void>\n```\n\nAdd a layer to the map that renders the data of a GeoJSON source.\n\n| Param         | Type                                                        |\n| ------------- | ----------------------------------------------------------- |\n| **`options`** | <code><a href=\"#addlayeroptions\">AddLayerOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addMarker(...)\n\n```typescript\naddMarker(options: AddMarkerOptions) => Promise<void>\n```\n\nAdd a marker to the map.\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#addmarkeroptions\">AddMarkerOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addMarkers(...)\n\n```typescript\naddMarkers(options: AddMarkersOptions) => Promise<void>\n```\n\nAdd multiple markers to the map.\n\n| Param         | Type                                                            |\n| ------------- | --------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#addmarkersoptions\">AddMarkersOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addPolyline(...)\n\n```typescript\naddPolyline(options: AddPolylineOptions) => Promise<void>\n```\n\nAdd a polyline to the map.\n\n| Param         | Type                                                              |\n| ------------- | ----------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#addpolylineoptions\">AddPolylineOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addPolylines(...)\n\n```typescript\naddPolylines(options: AddPolylinesOptions) => Promise<void>\n```\n\nAdd multiple polylines to the map.\n\n| Param         | Type                                                                |\n| ------------- | ------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#addpolylinesoptions\">AddPolylinesOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### checkPermissions()\n\n```typescript\ncheckPermissions() => Promise<PermissionStatus>\n```\n\nCheck the location permission.\n\n**Returns:** <code>Promise&lt;<a href=\"#permissionstatus\">PermissionStatus</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### createMap(...)\n\n```typescript\ncreateMap(options: CreateMapOptions) => Promise<void>\n```\n\nCreate a new map.\n\nThe map is rendered into the element with the given element ID. On\nAndroid and iOS, the map is rendered as a native view behind the web\nview, so the element and everything above the map must be transparent.\n\nThe promise resolves as soon as the style of the map has finished\nloading.\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#createmapoptions\">CreateMapOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### destroyMap(...)\n\n```typescript\ndestroyMap(options: DestroyMapOptions) => Promise<void>\n```\n\nDestroy a map and release all its resources.\n\n| Param         | Type                                                            |\n| ------------- | --------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#destroymapoptions\">DestroyMapOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### disableUserLocation(...)\n\n```typescript\ndisableUserLocation(options: DisableUserLocationOptions) => Promise<void>\n```\n\nStop displaying the location of the user on the map.\n\n| Param         | Type                                                                              |\n| ------------- | --------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#disableuserlocationoptions\">DisableUserLocationOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### elementFromPointResult(...)\n\n```typescript\nelementFromPointResult(options: ElementFromPointResultOptions) => Promise<void>\n```\n\nAnswer an `elementFromPointRequest` event.\n\nThis method is called automatically by the plugin and must not be\ncalled manually.\n\nOnly available on Android.\n\n| Param         | Type                                                                                    |\n| ------------- | --------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#elementfrompointresultoptions\">ElementFromPointResultOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### enableUserLocation(...)\n\n```typescript\nenableUserLocation(options: EnableUserLocationOptions) => Promise<void>\n```\n\nDisplay the location of the user on the map.\n\nCall this method again to change the tracking mode.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#enableuserlocationoptions\">EnableUserLocationOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### fitBounds(...)\n\n```typescript\nfitBounds(options: FitBoundsOptions) => Promise<void>\n```\n\nMove the camera so that the given bounds are visible.\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#fitboundsoptions\">FitBoundsOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### getCamera(...)\n\n```typescript\ngetCamera(options: GetCameraOptions) => Promise<GetCameraResult>\n```\n\nGet the current camera of the map.\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#getcameraoptions\">GetCameraOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#getcameraresult\">GetCameraResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removeAllMarkers(...)\n\n```typescript\nremoveAllMarkers(options: RemoveAllMarkersOptions) => Promise<void>\n```\n\nRemove all markers from the map.\n\n| Param         | Type                                                                        |\n| ------------- | --------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#removeallmarkersoptions\">RemoveAllMarkersOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removeAllPolylines(...)\n\n```typescript\nremoveAllPolylines(options: RemoveAllPolylinesOptions) => Promise<void>\n```\n\nRemove all polylines from the map.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#removeallpolylinesoptions\">RemoveAllPolylinesOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removeGeoJsonSourceById(...)\n\n```typescript\nremoveGeoJsonSourceById(options: RemoveGeoJsonSourceByIdOptions) => Promise<void>\n```\n\nRemove a GeoJSON source from the map.\n\nAll layers that use the source must be removed first.\n\n| Param         | Type                                                                                      |\n| ------------- | ----------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#removegeojsonsourcebyidoptions\">RemoveGeoJsonSourceByIdOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removeLayerById(...)\n\n```typescript\nremoveLayerById(options: RemoveLayerByIdOptions) => Promise<void>\n```\n\nRemove a layer from the map.\n\n| Param         | Type                                                                      |\n| ------------- | ------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#removelayerbyidoptions\">RemoveLayerByIdOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removeMarkerById(...)\n\n```typescript\nremoveMarkerById(options: RemoveMarkerByIdOptions) => Promise<void>\n```\n\nRemove a marker from the map.\n\n| Param         | Type                                                                        |\n| ------------- | --------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#removemarkerbyidoptions\">RemoveMarkerByIdOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removeMarkersByIds(...)\n\n```typescript\nremoveMarkersByIds(options: RemoveMarkersByIdsOptions) => Promise<void>\n```\n\nRemove multiple markers from the map.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#removemarkersbyidsoptions\">RemoveMarkersByIdsOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removePolylineById(...)\n\n```typescript\nremovePolylineById(options: RemovePolylineByIdOptions) => Promise<void>\n```\n\nRemove a polyline from the map.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#removepolylinebyidoptions\">RemovePolylineByIdOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removePolylinesByIds(...)\n\n```typescript\nremovePolylinesByIds(options: RemovePolylinesByIdsOptions) => Promise<void>\n```\n\nRemove multiple polylines from the map.\n\n| Param         | Type                                                                                |\n| ------------- | ----------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#removepolylinesbyidsoptions\">RemovePolylinesByIdsOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### requestPermissions()\n\n```typescript\nrequestPermissions() => Promise<PermissionStatus>\n```\n\nRequest the location permission.\n\n**Returns:** <code>Promise&lt;<a href=\"#permissionstatus\">PermissionStatus</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### setCamera(...)\n\n```typescript\nsetCamera(options: SetCameraOptions) => Promise<void>\n```\n\nMove the camera of the map.\n\nOnly the provided properties are changed.\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#setcameraoptions\">SetCameraOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### setFrame(...)\n\n```typescript\nsetFrame(options: SetFrameOptions) => Promise<void>\n```\n\nUpdate the position and size of the map viewport.\n\nThis method is called automatically by the plugin and usually does not\nneed to be called manually.\n\nOnly available on Android and iOS.\n\n| Param         | Type                                                        |\n| ------------- | ----------------------------------------------------------- |\n| **`options`** | <code><a href=\"#setframeoptions\">SetFrameOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### setGesturesEnabled(...)\n\n```typescript\nsetGesturesEnabled(options: SetGesturesEnabledOptions) => Promise<void>\n```\n\nEnable or disable the gestures of the map.\n\nOnly the provided gestures are changed.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#setgesturesenabledoptions\">SetGesturesEnabledOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### setStyle(...)\n\n```typescript\nsetStyle(options: SetStyleOptions) => Promise<void>\n```\n\nLoad a new style into the map.\n\nAll markers, polylines, sources and layers must be added again after\nthe new style has been loaded.\n\n| Param         | Type                                                        |\n| ------------- | ----------------------------------------------------------- |\n| **`options`** | <code><a href=\"#setstyleoptions\">SetStyleOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### updateGeoJsonSourceById(...)\n\n```typescript\nupdateGeoJsonSourceById(options: UpdateGeoJsonSourceByIdOptions) => Promise<void>\n```\n\nUpdate the data of a GeoJSON source.\n\n| Param         | Type                                                                                      |\n| ------------- | ----------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#updategeojsonsourcebyidoptions\">UpdateGeoJsonSourceByIdOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### updateMarkerById(...)\n\n```typescript\nupdateMarkerById(options: UpdateMarkerByIdOptions) => Promise<void>\n```\n\nUpdate a marker on the map.\n\nOnly the provided properties are changed.\n\n| Param         | Type                                                                        |\n| ------------- | --------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#updatemarkerbyidoptions\">UpdateMarkerByIdOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### updatePolylineById(...)\n\n```typescript\nupdatePolylineById(options: UpdatePolylineByIdOptions) => Promise<void>\n```\n\nUpdate a polyline on the map.\n\nOnly the provided properties are changed.\n\n| Param         | Type                                                                            |\n| ------------- | ------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#updatepolylinebyidoptions\">UpdatePolylineByIdOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('cameraIdle', ...)\n\n```typescript\naddListener(eventName: 'cameraIdle', listenerFunc: (event: CameraIdleEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the camera of a map has stopped moving.\n\n| Param              | Type                                                                            |\n| ------------------ | ------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'cameraIdle'</code>                                                       |\n| **`listenerFunc`** | <code>(event: <a href=\"#cameraidleevent\">CameraIdleEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('cameraMoveStarted', ...)\n\n```typescript\naddListener(eventName: 'cameraMoveStarted', listenerFunc: (event: CameraMoveStartedEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the camera of a map has started moving.\n\n| Param              | Type                                                                                          |\n| ------------------ | --------------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'cameraMoveStarted'</code>                                                              |\n| **`listenerFunc`** | <code>(event: <a href=\"#cameramovestartedevent\">CameraMoveStartedEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('elementFromPointRequest', ...)\n\n```typescript\naddListener(eventName: 'elementFromPointRequest', listenerFunc: (event: ElementFromPointRequestEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the plugin needs to know which map is located at a point of\nthe screen.\n\nThis event is handled automatically by the plugin and must not be\nhandled manually.\n\nOnly available on Android.\n\n| Param              | Type                                                                                                      |\n| ------------------ | --------------------------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'elementFromPointRequest'</code>                                                                    |\n| **`listenerFunc`** | <code>(event: <a href=\"#elementfrompointrequestevent\">ElementFromPointRequestEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('mapClick', ...)\n\n```typescript\naddListener(eventName: 'mapClick', listenerFunc: (event: MapClickEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the user taps on a map.\n\n| Param              | Type                                                                        |\n| ------------------ | --------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'mapClick'</code>                                                     |\n| **`listenerFunc`** | <code>(event: <a href=\"#mapclickevent\">MapClickEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('markerClick', ...)\n\n```typescript\naddListener(eventName: 'markerClick', listenerFunc: (event: MarkerClickEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the user taps on a marker.\n\n| Param              | Type                                                                              |\n| ------------------ | --------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'markerClick'</code>                                                        |\n| **`listenerFunc`** | <code>(event: <a href=\"#markerclickevent\">MarkerClickEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('markerDrag', ...)\n\n```typescript\naddListener(eventName: 'markerDrag', listenerFunc: (event: MarkerDragEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled while the user drags a marker.\n\nOnly available on Android and Web.\n\n| Param              | Type                                                                            |\n| ------------------ | ------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'markerDrag'</code>                                                       |\n| **`listenerFunc`** | <code>(event: <a href=\"#markerdragevent\">MarkerDragEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('markerDragEnd', ...)\n\n```typescript\naddListener(eventName: 'markerDragEnd', listenerFunc: (event: MarkerDragEndEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the user has stopped dragging a marker.\n\nOnly available on Android and Web.\n\n| Param              | Type                                                                                  |\n| ------------------ | ------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'markerDragEnd'</code>                                                          |\n| **`listenerFunc`** | <code>(event: <a href=\"#markerdragendevent\">MarkerDragEndEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('markerDragStart', ...)\n\n```typescript\naddListener(eventName: 'markerDragStart', listenerFunc: (event: MarkerDragStartEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the user has started dragging a marker.\n\nOnly available on Android and Web.\n\n| Param              | Type                                                                                      |\n| ------------------ | ----------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'markerDragStart'</code>                                                            |\n| **`listenerFunc`** | <code>(event: <a href=\"#markerdragstartevent\">MarkerDragStartEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### addListener('userLocationChange', ...)\n\n```typescript\naddListener(eventName: 'userLocationChange', listenerFunc: (event: UserLocationChangeEvent) => void) => Promise<PluginListenerHandle>\n```\n\nCalled when the location of the user changes.\n\nThe event is only emitted while the location of the user is displayed\non the map.\n\n| Param              | Type                                                                                            |\n| ------------------ | ----------------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'userLocationChange'</code>                                                               |\n| **`listenerFunc`** | <code>(event: <a href=\"#userlocationchangeevent\">UserLocationChangeEvent</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### removeAllListeners()\n\n```typescript\nremoveAllListeners() => Promise<void>\n```\n\nRemove all listeners for this plugin.\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### Interfaces\n\n\n#### AddGeoJsonSourceOptions\n\n| Prop           | Type                                       | Description                                                                                  | Since |\n| -------------- | ------------------------------------------ | -------------------------------------------------------------------------------------------- | ----- |\n| **`data`**     | <code>Record&lt;string, unknown&gt;</code> | The GeoJSON data of the source. Exactly one of `data` and `url` must be provided.            | 0.1.0 |\n| **`mapId`**    | <code>string</code>                        | The unique identifier of the map.                                                            | 0.1.0 |\n| **`sourceId`** | <code>string</code>                        | The unique identifier of the source.                                                         | 0.1.0 |\n| **`url`**      | <code>string</code>                        | The URL of the GeoJSON data of the source. Exactly one of `data` and `url` must be provided. | 0.1.0 |\n\n\n#### AddLayerOptions\n\n| Prop               | Type                                              | Description                                                                                                                               | Since |\n| ------------------ | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----- |\n| **`belowLayerId`** | <code>string</code>                               | The unique identifier of the layer below which the new layer is inserted. If not provided, the layer is added on top of all other layers. | 0.1.0 |\n| **`layerId`**      | <code>string</code>                               | The unique identifier of the layer.                                                                                                       | 0.1.0 |\n| **`mapId`**        | <code>string</code>                               | The unique identifier of the map.                                                                                                         | 0.1.0 |\n| **`maxZoom`**      | <code>number</code>                               | The maximum zoom level at which the layer is visible.                                                                                     | 0.1.0 |\n| **`minZoom`**      | <code>number</code>                               | The minimum zoom level at which the layer is visible.                                                                                     | 0.1.0 |\n| **`paint`**        | <code><a href=\"#layerpaint\">LayerPaint</a></code> | The paint properties of the layer.                                                                                                        | 0.1.0 |\n| **`sourceId`**     | <code>string</code>                               | The unique identifier of the source whose data is rendered by the layer.                                                                  | 0.1.0 |\n| **`type`**         | <code><a href=\"#layertype\">LayerType</a></code>   | The type of the layer.                                                                                                                    | 0.1.0 |\n\n\n#### LayerPaint\n\nThe paint properties of a layer.\n\nProperties that do not apply to the type of the layer are ignored.\n\n| Prop                    | Type                | Description                                                                                                                              | Since |\n| ----------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----- |\n| **`circleColor`**       | <code>string</code> | The fill color of the circles as a hexadecimal string in the format `#RRGGBB` or `#RRGGBBAA`. Only applies to layers of type `circle`.   | 0.1.0 |\n| **`circleOpacity`**     | <code>number</code> | The opacity of the circles as a value between `0` and `1`. Only applies to layers of type `circle`.                                      | 0.1.0 |\n| **`circleRadius`**      | <code>number</code> | The radius of the circles in CSS pixels. Only applies to layers of type `circle`.                                                        | 0.1.0 |\n| **`circleStrokeColor`** | <code>string</code> | The stroke color of the circles as a hexadecimal string in the format `#RRGGBB` or `#RRGGBBAA`. Only applies to layers of type `circle`. | 0.1.0 |\n| **`circleStrokeWidth`** | <code>number</code> | The stroke width of the circles in CSS pixels. Only applies to layers of type `circle`.                                                  | 0.1.0 |\n| **`fillColor`**         | <code>string</code> | The fill color of the areas as a hexadecimal string in the format `#RRGGBB` or `#RRGGBBAA`. Only applies to layers of type `fill`.       | 0.1.0 |\n| **`fillOpacity`**       | <code>number</code> | The opacity of the areas as a value between `0` and `1`. Only applies to layers of type `fill`.                                          | 0.1.0 |\n| **`fillOutlineColor`**  | <code>string</code> | The outline color of the areas as a hexadecimal string in the format `#RRGGBB` or `#RRGGBBAA`. Only applies to layers of type `fill`.    | 0.1.0 |\n| **`lineColor`**         | <code>string</code> | The color of the lines as a hexadecimal string in the format `#RRGGBB` or `#RRGGBBAA`. Only applies to layers of type `line`.            | 0.1.0 |\n| **`lineOpacity`**       | <code>number</code> | The opacity of the lines as a value between `0` and `1`. Only applies to layers of type `line`.                                          | 0.1.0 |\n| **`lineWidth`**         | <code>number</code> | The width of the lines in CSS pixels. Only applies to layers of type `line`.                                                             | 0.1.0 |\n\n\n#### AddMarkerOptions\n\n| Prop         | Type                                      | Description                       | Since |\n| ------------ | ----------------------------------------- | --------------------------------- | ----- |\n| **`mapId`**  | <code>string</code>                       | The unique identifier of the map. | 0.1.0 |\n| **`marker`** | <code><a href=\"#marker\">Marker</a></code> | The marker to add.                | 0.1.0 |\n\n\n#### Marker\n\nA marker on a map.\n\n| Prop              | Type                                                          | Description                                                                                                          | Default                              | Since |\n| ----------------- | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ----- |\n| **`coordinates`** | <code><a href=\"#latlng\">LatLng</a></code>                     | The geographical coordinate of the marker.                                                                           |                                      | 0.1.0 |\n| **`draggable`**   | <code>boolean</code>                                          | Whether the user can drag the marker. Only available on Android and Web.                                             | <code>false</code>                   | 0.1.0 |\n| **`iconAnchor`**  | <code><a href=\"#markericonanchor\">MarkerIconAnchor</a></code> | The part of the icon that is placed on the coordinate of the marker.                                                 | <code>MarkerIconAnchor.Bottom</code> | 0.1.0 |\n| **`iconSize`**    | <code><a href=\"#markericonsize\">MarkerIconSize</a></code>     | The size the icon is scaled to. If not provided, the intrinsic size of the icon is used.                             |                                      | 0.1.0 |\n| **`iconUrl`**     | <code>string</code>                                           | The URL of the icon of the marker. Must be a `https` URL or a data URI. If not provided, a default pin icon is used. |                                      | 0.1.0 |\n| **`id`**          | <code>string</code>                                           | The unique identifier of the marker.                                                                                 |                                      | 0.1.0 |\n| **`opacity`**     | <code>number</code>                                           | The opacity of the marker as a value between `0` and `1`.                                                            | <code>1</code>                       | 0.1.0 |\n| **`rotation`**    | <code>number</code>                                           | The rotation of the icon in degrees clockwise.                                                                       | <code>0</code>                       | 0.1.0 |\n\n\n#### LatLng\n\nA geographical coordinate.\n\n| Prop            | Type                | Description               | Since |\n| --------------- | ------------------- | ------------------------- | ----- |\n| **`latitude`**  | <code>number</code> | The latitude in degrees.  | 0.1.0 |\n| **`longitude`** | <code>number</code> | The longitude in degrees. | 0.1.0 |\n\n\n#### MarkerIconSize\n\nThe size of the icon of a marker in CSS pixels.\n\n| Prop         | Type                | Description                           | Since |\n| ------------ | ------------------- | ------------------------------------- | ----- |\n| **`height`** | <code>number</code> | The height of the icon in CSS pixels. | 0.1.0 |\n| **`width`**  | <code>number</code> | The width of the icon in CSS pixels.  | 0.1.0 |\n\n\n#### AddMarkersOptions\n\n| Prop          | Type                  | Description                       | Since |\n| ------------- | --------------------- | --------------------------------- | ----- |\n| **`mapId`**   | <code>string</code>   | The unique identifier of the map. | 0.1.0 |\n| **`markers`** | <code>Marker[]</code> | The markers to add.               | 0.1.0 |\n\n\n#### AddPolylineOptions\n\n| Prop           | Type                                          | Description                       | Since |\n| -------------- | --------------------------------------------- | --------------------------------- | ----- |\n| **`mapId`**    | <code>string</code>                           | The unique identifier of the map. | 0.1.0 |\n| **`polyline`** | <code><a href=\"#polyline\">Polyline</a></code> | The polyline to add.              | 0.1.0 |\n\n\n#### Polyline\n\nA polyline on a map.\n\n| Prop              | Type                  | Description                                                                               | Default                | Since |\n| ----------------- | --------------------- | ----------------------------------------------------------------------------------------- | ---------------------- | ----- |\n| **`color`**       | <code>string</code>   | The color of the polyline as a hexadecimal string in the format `#RRGGBB` or `#RRGGBBAA`. | <code>'#3887be'</code> | 0.1.0 |\n| **`coordinates`** | <code>LatLng[]</code> | The geographical coordinates of the polyline.                                             |                        | 0.1.0 |\n| **`id`**          | <code>string</code>   | The unique identifier of the polyline.                                                    |                        | 0.1.0 |\n| **`opacity`**     | <code>number</code>   | The opacity of the polyline as a value between `0` and `1`.                               | <code>1</code>         | 0.1.0 |\n| **`width`**       | <code>number</code>   | The width of the polyline in CSS pixels.                                                  | <code>4</code>         | 0.1.0 |\n\n\n#### AddPolylinesOptions\n\n| Prop            | Type                    | Description                       | Since |\n| --------------- | ----------------------- | --------------------------------- | ----- |\n| **`mapId`**     | <code>string</code>     | The unique identifier of the map. | 0.1.0 |\n| **`polylines`** | <code>Polyline[]</code> | The polylines to add.             | 0.1.0 |\n\n\n#### PermissionStatus\n\n| Prop           | Type                                                        | Description                                      | Since |\n| -------------- | ----------------------------------------------------------- | ------------------------------------------------ | ----- |\n| **`location`** | <code><a href=\"#permissionstate\">PermissionState</a></code> | The permission state of the location permission. | 0.1.0 |\n\n\n#### CreateMapOptions\n\n| Prop            | Type                                                        | Description                                                                                                   | Default                                                  | Since |\n| --------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ----- |\n| **`bearing`**   | <code>number</code>                                         | The direction the camera points in, in degrees clockwise from north.                                          | <code>0</code>                                           | 0.1.0 |\n| **`center`**    | <code><a href=\"#latlng\">LatLng</a></code>                   | The geographical coordinate at the center of the map. If not provided, the center of the style is used.       |                                                          | 0.1.0 |\n| **`elementId`** | <code>string</code>                                         | The ID of the DOM element the map is rendered into. The element must be empty and must not have a background. |                                                          | 0.1.0 |\n| **`gestures`**  | <code><a href=\"#gesturesettings\">GestureSettings</a></code> | The gestures the user can perform on the map.                                                                 |                                                          | 0.1.0 |\n| **`mapId`**     | <code>string</code>                                         | The unique identifier of the map.                                                                             |                                                          | 0.1.0 |\n| **`maxZoom`**   | <code>number</code>                                         | The maximum zoom level of the map. If not provided, the maximum zoom level of the style is used.              |                                                          | 0.1.0 |\n| **`minZoom`**   | <code>number</code>                                         | The minimum zoom level of the map. If not provided, the minimum zoom level of the style is used.              |                                                          | 0.1.0 |\n| **`pitch`**     | <code>number</code>                                         | The tilt of the camera in degrees, measured from the plane of the map.                                        | <code>0</code>                                           | 0.1.0 |\n| **`styleJson`** | <code>string</code>                                         | The style of the map as a JSON string. At most one of `styleJson` and `styleUrl` may be provided.             |                                                          | 0.1.0 |\n| **`styleUrl`**  | <code>string</code>                                         | The URL of the style of the map. At most one of `styleJson` and `styleUrl` may be provided.                   | <code>'https://demotiles.maplibre.org/style.json'</code> | 0.1.0 |\n| **`zoom`**      | <code>number</code>                                         | The zoom level of the map.                                                                                    | <code>0</code>                                           | 0.1.0 |\n\n\n#### GestureSettings\n\nThe gestures the user can perform on a map.\n\n| Prop         | Type                 | Description                                               | Default           | Since |\n| ------------ | -------------------- | --------------------------------------------------------- | ----------------- | ----- |\n| **`pan`**    | <code>boolean</code> | Whether the user can move the camera by dragging the map. | <code>true</code> | 0.1.0 |\n| **`rotate`** | <code>boolean</code> | Whether the user can rotate the camera.                   | <code>true</code> | 0.1.0 |\n| **`tilt`**   | <code>boolean</code> | Whether the user can tilt the camera.                     | <code>true</code> | 0.1.0 |\n| **`zoom`**   | <code>boolean</code> | Whether the user can zoom the camera.                     | <code>true</code> | 0.1.0 |\n\n\n#### DestroyMapOptions\n\n| Prop        | Type                | Description                       | Since |\n| ----------- | ------------------- | --------------------------------- | ----- |\n| **`mapId`** | <code>string</code> | The unique identifier of the map. | 0.1.0 |\n\n\n#### DisableUserLocationOptions\n\n| Prop        | Type                | Description                       | Since |\n| ----------- | ------------------- | --------------------------------- | ----- |\n| **`mapId`** | <code>string</code> | The unique identifier of the map. | 0.1.0 |\n\n\n#### ElementFromPointResultOptions\n\n| Prop            | Type                        | Description                                                                                                          | Since |\n| --------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------- | ----- |\n| **`mapId`**     | <code>string \\| null</code> | The unique identifier of the map at the requested point. Must be `null` if no map is located at the requested point. | 0.1.0 |\n| **`requestId`** | <code>string</code>         | The unique identifier of the request.                                                                                | 0.1.0 |\n\n\n#### EnableUserLocationOptions\n\n| Prop               | Type                                                          | Description                                                                                                                               | Default                            | Since |\n| ------------------ | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ----- |\n| **`mapId`**        | <code>string</code>                                           | The unique identifier of the map.                                                                                                         |                                    | 0.1.0 |\n| **`trackingMode`** | <code><a href=\"#usertrackingmode\">UserTrackingMode</a></code> | The mode used to track the location of the user with the camera. On Web, `FollowWithCourse` and `FollowWithHeading` behave like `Follow`. | <code>UserTrackingMode.None</code> | 0.1.0 |\n\n\n#### FitBoundsOptions\n\n| Prop                    | Type                                        | Description                                                | Default            | Since |\n| ----------------------- | ------------------------------------------- | ---------------------------------------------------------- | ------------------ | ----- |\n| **`animate`**           | <code>boolean</code>                        | Whether the camera movement is animated.                   | <code>false</code> | 0.1.0 |\n| **`animationDuration`** | <code>number</code>                         | The duration of the animation in milliseconds.             | <code>300</code>   | 0.1.0 |\n| **`bounds`**            | <code><a href=\"#bounds\">Bounds</a></code>   | The bounds that must be visible after the camera movement. |                    | 0.1.0 |\n| **`mapId`**             | <code>string</code>                         | The unique identifier of the map.                          |                    | 0.1.0 |\n| **`maxZoom`**           | <code>number</code>                         | The maximum zoom level the camera may reach.               |                    | 0.1.0 |\n| **`padding`**           | <code><a href=\"#padding\">Padding</a></code> | The padding between the bounds and the edges of the map.   |                    | 0.1.0 |\n\n\n#### Bounds\n\nA geographical area, defined by its southwest and northeast corner.\n\n| Prop            | Type                                      | Description                       | Since |\n| --------------- | ----------------------------------------- | --------------------------------- | ----- |\n| **`northeast`** | <code><a href=\"#latlng\">LatLng</a></code> | The northeast corner of the area. | 0.1.0 |\n| **`southwest`** | <code><a href=\"#latlng\">LatLng</a></code> | The southwest corner of the area. | 0.1.0 |\n\n\n#### Padding\n\nThe padding between the content of a map and its edges in CSS pixels.\n\n| Prop         | Type                | Description                                   | Default        | Since |\n| ------------ | ------------------- | --------------------------------------------- | -------------- | ----- |\n| **`bottom`** | <code>number</code> | The padding at the bottom edge in CSS pixels. | <code>0</code> | 0.1.0 |\n| **`left`**   | <code>number</code> | The padding at the left edge in CSS pixels.   | <code>0</code> | 0.1.0 |\n| **`right`**  | <code>number</code> | The padding at the right edge in CSS pixels.  | <code>0</code> | 0.1.0 |\n| **`top`**    | <code>number</code> | The padding at the top edge in CSS pixels.    | <code>0</code> | 0.1.0 |\n\n\n#### GetCameraResult\n\n| Prop         | Type                                      | Description                    | Since |\n| ------------ | ----------------------------------------- | ------------------------------ | ----- |\n| **`camera`** | <code><a href=\"#camera\">Camera</a></code> | The current camera of the map. | 0.1.0 |\n\n\n#### Camera\n\nThe camera of a map.\n\n| Prop          | Type                                      | Description                                                            | Since |\n| ------------- | ----------------------------------------- | ---------------------------------------------------------------------- | ----- |\n| **`bearing`** | <code>number</code>                       | The direction the camera points in, in degrees clockwise from north.   | 0.1.0 |\n| **`center`**  | <code><a href=\"#latlng\">LatLng</a></code> | The geographical coordinate at the center of the map.                  | 0.1.0 |\n| **`pitch`**   | <code>number</code>                       | The tilt of the camera in degrees, measured from the plane of the map. | 0.1.0 |\n| **`zoom`**    | <code>number</code>                       | The zoom level of the map.                                             | 0.1.0 |\n\n\n#### GetCameraOptions\n\n| Prop        | Type                | Description                       | Since |\n| ----------- | ------------------- | --------------------------------- | ----- |\n| **`mapId`** | <code>string</code> | The unique identifier of the map. | 0.1.0 |\n\n\n#### RemoveAllMarkersOptions\n\n| Prop        | Type                | Description                       | Since |\n| ----------- | ------------------- | --------------------------------- | ----- |\n| **`mapId`** | <code>string</code> | The unique identifier of the map. | 0.1.0 |\n\n\n#### RemoveAllPolylinesOptions\n\n| Prop        | Type                | Description                       | Since |\n| ----------- | ------------------- | --------------------------------- | ----- |\n| **`mapId`** | <code>string</code> | The unique identifier of the map. | 0.1.0 |\n\n\n#### RemoveGeoJsonSourceByIdOptions\n\n| Prop           | Type                | Description                          | Since |\n| -------------- | ------------------- | ------------------------------------ | ----- |\n| **`mapId`**    | <code>string</code> | The unique identifier of the map.    | 0.1.0 |\n| **`sourceId`** | <code>string</code> | The unique identifier of the source. | 0.1.0 |\n\n\n#### RemoveLayerByIdOptions\n\n| Prop          | Type                | Description                         | Since |\n| ------------- | ------------------- | ----------------------------------- | ----- |\n| **`layerId`** | <code>string</code> | The unique identifier of the layer. | 0.1.0 |\n| **`mapId`**   | <code>string</code> | The unique identifier of the map.   | 0.1.0 |\n\n\n#### RemoveMarkerByIdOptions\n\n| Prop           | Type                | Description                          | Since |\n| -------------- | ------------------- | ------------------------------------ | ----- |\n| **`mapId`**    | <code>string</code> | The unique identifier of the map.    | 0.1.0 |\n| **`markerId`** | <code>string</code> | The unique identifier of the marker. | 0.1.0 |\n\n\n#### RemoveMarkersByIdsOptions\n\n| Prop            | Type                  | Description                            | Since |\n| --------------- | --------------------- | -------------------------------------- | ----- |\n| **`mapId`**     | <code>string</code>   | The unique identifier of the map.      | 0.1.0 |\n| **`markerIds`** | <code>string[]</code> | The unique identifiers of the markers. | 0.1.0 |\n\n\n#### RemovePolylineByIdOptions\n\n| Prop             | Type                | Description                            | Since |\n| ---------------- | ------------------- | -------------------------------------- | ----- |\n| **`mapId`**      | <code>string</code> | The unique identifier of the map.      | 0.1.0 |\n| **`polylineId`** | <code>string</code> | The unique identifier of the polyline. | 0.1.0 |\n\n\n#### RemovePolylinesByIdsOptions\n\n| Prop              | Type                  | Description                              | Since |\n| ----------------- | --------------------- | ---------------------------------------- | ----- |\n| **`mapId`**       | <code>string</code>   | The unique identifier of the map.        | 0.1.0 |\n| **`polylineIds`** | <code>string[]</code> | The unique identifiers of the polylines. | 0.1.0 |\n\n\n#### SetCameraOptions\n\n| Prop                    | Type                                        | Description                                                            | Default            | Since |\n| ----------------------- | ------------------------------------------- | ---------------------------------------------------------------------- | ------------------ | ----- |\n| **`animate`**           | <code>boolean</code>                        | Whether the camera movement is animated.                               | <code>false</code> | 0.1.0 |\n| **`animationDuration`** | <code>number</code>                         | The duration of the animation in milliseconds.                         | <code>300</code>   | 0.1.0 |\n| **`bearing`**           | <code>number</code>                         | The direction the camera points in, in degrees clockwise from north.   |                    | 0.1.0 |\n| **`center`**            | <code><a href=\"#latlng\">LatLng</a></code>   | The geographical coordinate at the center of the map.                  |                    | 0.1.0 |\n| **`mapId`**             | <code>string</code>                         | The unique identifier of the map.                                      |                    | 0.1.0 |\n| **`padding`**           | <code><a href=\"#padding\">Padding</a></code> | The padding between the content of the map and its edges.              |                    | 0.1.0 |\n| **`pitch`**             | <code>number</code>                         | The tilt of the camera in degrees, measured from the plane of the map. |                    | 0.1.0 |\n| **`zoom`**              | <code>number</code>                         | The zoom level of the map.                                             |                    | 0.1.0 |\n\n\n#### SetFrameOptions\n\n| Prop              | Type                                                      | Description                                            | Since |\n| ----------------- | --------------------------------------------------------- | ------------------------------------------------------ | ----- |\n| **`contentSize`** | <code><a href=\"#mapcontentsize\">MapContentSize</a></code> | The size of the scrollable content of the map element. | 0.1.0 |\n| **`frame`**       | <code><a href=\"#mapframe\">MapFrame</a></code>             | The new position and size of the map viewport.         | 0.1.0 |\n| **`mapId`**       | <code>string</code>                                       | The unique identifier of the map.                      | 0.1.0 |\n\n\n#### MapContentSize\n\nThe size of the scrollable content of a map element in CSS pixels.\n\n| Prop         | Type                | Description                              | Since |\n| ------------ | ------------------- | ---------------------------------------- | ----- |\n| **`height`** | <code>number</code> | The height of the content in CSS pixels. | 0.1.0 |\n| **`width`**  | <code>number</code> | The width of the content in CSS pixels.  | 0.1.0 |\n\n\n#### MapFrame\n\nThe position and size of a map in CSS pixels, relative to t","readmeFilename":"README.md"}