{
    "componentChunkName": "component---src-design-system-templates-article-index-tsx",
    "path": "/blog/developers/features/mappedin-developer-portal-launch/",
    "result": {"data":{"contentfulComposePage":{"title":"Mappedin Developer Portal Launch","seo":{"title":null,"description":"We've recently made improvements to our Developer Portal, and this blog will cover what's new and how to test our SDK features and capabilities in real-time!"},"content":{"author":"Lucy Bragg","publishDate":"Jul 22, 2022","updatedAt":"Jul 22, 2022","content":{"raw":"{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Something we focus on at Mappedin is building a great experience for developers who use our products. More often than not, we encounter questions, suggestions, and improvements that we take into consideration when building our products. This feedback loop is important as we take steps to refine how developers interact with our SDKs to build their solutions. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We recently made a major step in evolving Mappedin’s Developer Portal, where you can find the guides, code samples, and reference docs you need to build a completely custom mapping solution on your website or app with Mappedin SDKs. We’ve made many improvements to our Developer Portal, and this blog will cover what’s new, what’s included, and how to test our SDK features and capabilities in real-time!\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"3PKR0XcFQy9HBjO4OvcdS4\",\"type\":\"Link\",\"linkType\":\"Asset\"}}},\"content\":[],\"nodeType\":\"embedded-asset-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"What is the Developer Portal?\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-1\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mappedin’s Developer Portal\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" provides well-documented resources for developers to create their own unique mapping experiences. Documentation on the features and components across all of our \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mobile and Web SDK products\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" can be found, along with an up-to-date version release roadmap, integration guides, and a new Developer Playground. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"What’s New?\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-1\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We have expanded the range and depth of documentation to support indoor mapping capabilities for mobile and web-based applications across a variety of use cases. There are more interactive examples and an exciting new addition — the \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/playground/latest/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Developer Playground\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\"! Developers can now test our Web SDK in real-time to explore its endless capabilities.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We’ve also made it easier to find documentation support for the latest and earlier SDK versions, along with release notes and migration guides that were previously hosted on the Developer Blog. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Developer Portal Guide\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-1\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"What does the Developer Portal include? Let’s delve in. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"SDK Documentation \",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We offer well-documented resources for all features and components across \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/web-sdk/latest/getting-started\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Web\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/react-native-sdk/latest/getting-started\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"React Native\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/ios-sdk/latest/getting-started\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"iOS\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", and \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/android-sdk/latest/getting-started\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Android\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\". This includes a getting started guide, API reference, sample application, release notes, and migration guides. Mappedin API trial keys are also available to provide access to sample data.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Getting Started Guide\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"With our \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/web-sdk/latest/getting-started\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"getting started guides\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" for each SDK, developers can get up and running quickly and experience the customization our products have to offer. Simply copy and paste code that will load the Mappedin SDK in its respective platform, display the map, and play around with features and capabilities.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"API Reference\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Developers can refer to our \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/web-sdk-api/latest/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"API Reference\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", which lists the classes and methods of what our code can do. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Guides\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Our SDK documentation includes step-by-step guides on how to add features to the map. We walk users through concise steps and provide sample code for developers to copy and paste. We have guides on our most used features for \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/web-sdk/latest/getting-started\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Web\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/react-native-sdk/latest/getting-started\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"React Native\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/ios-sdk/latest/getting-started\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"iOS\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", and \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/android-sdk/latest/getting-started\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Android\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\".\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Release Notes & Migration Guides\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We provide documentation for release upgrades and changes to our SDKs. For major changes, you can refer to our \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/web-sdk/latest/migration-guide\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"migration guides\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", and minor changes can be found in our \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/web-sdk/latest/release-notes\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"release notes\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\". \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Developer Playground\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"An exciting new addition to the Developer Portal is the \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/playground/latest/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Developer Playground\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" — an interactive space that enables developers to modify the existing code and visualize our SDK features in real-time, including:\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/playground/v4/adding-interactivity\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Adding Interactivity\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/playground/v4/markers\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Markers\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/playground/v4/flat-labels\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Flat Labels\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/playground/v4/floating-labels\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Floating Labels\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/playground/v4/a-b-wayfinding\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"A-B Wayfinding\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/playground/v4/camera-controls\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Camera Controls\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"}],\"nodeType\":\"unordered-list\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"5RzmVd8MWRClEWAHoNKMcc\",\"type\":\"Link\",\"linkType\":\"Asset\"}}},\"content\":[],\"nodeType\":\"embedded-asset-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Customize maps, test features and functionality, and explore capabilities. There is also the ability to edit and experiment with more options in a public CodeSandbox. We will be adding more tutorials soon so that everyone can use the Developer Playground with ease. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Release Roadmap\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Our release roadmap for the entire Mappedin SDK suite across different platforms is standardized. The \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/releases/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"release roadmap\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" showcases the timeline of how each of our SDKs go into different major versions, “Unstable”, “Current”, “Long Term Support” and “Deprecated” so that Mappedin customers can upgrade based on their unique requirements.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[{\"type\":\"bold\"}],\"value\":\"Unstable:\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\" Mappedin is actively developing new features that will be included in our beta release. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[{\"type\":\"bold\"}],\"value\":\"Current:\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\" The release is actively being developed and customers are treated as stakeholders for adding requirements and adjustments to the product roadmap.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[{\"type\":\"bold\"}],\"value\":\"Long Term Support:\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\" There is no active product roadmap, meaning there will be no new features added; however, Mappedin may from time-to-time choose to fix API level bugs.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[{\"type\":\"bold\"}],\"value\":\"Deprecate:\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\" There will be no new features added, and bugs will not be resolved. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"}],\"nodeType\":\"unordered-list\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Integrations\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Documentation of possible mapping integrations is also available in the Developer Portal. This includes \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/data-sync/overview\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Data Sync\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/geojson-export/overview\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"GeoJSON Export\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", and \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/pre-built-applications/responsive-web-app-guide\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Pre-Built Applications\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\". These documents outline hardware and software requirements, how to format data, and how to integrate these products into a map. We also provide code snippets for developers to easily read the functionality.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"New Developer Blog\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"With the launch of the new Developer Portal, we have merged the \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://www.mappedin.com/blog/developers\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"developer blog\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" with our \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://www.mappedin.com/blog\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"main blog\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" so that all content is discoverable from one central location. However, users can search for developer content on the Developer Portal for quick and easy access. Developer content is focused on industry trends and unique use cases such as \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://www.mappedin.com/blog/developers/use-cases/augmenting-directions/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Augmenting Directions With Wait Time Information\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\".\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"jkD16NKgOwV1LuqHgzihV\",\"type\":\"Link\",\"linkType\":\"Asset\"}}},\"content\":[],\"nodeType\":\"embedded-asset-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Github\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We also have quick access to Github on the Developer Portal. You can find additional examples and sample applications \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://github.com/MappedIn\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"here\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\". \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Start Using SDKs\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-1\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"With access to getting started guides, sample applications, and our professional developer network, we can help bring your mapping vision to life. Explore our SDK features and capabilities in real-time in the \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Developer Playground\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", and \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://www.mappedin.com/contact-us/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"contact us today\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" to start creating your own custom mapping experience.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"document\"}","references":[{"contentful_id":"3PKR0XcFQy9HBjO4OvcdS4","__typename":"ContentfulAsset","description":"","file":{"url":"//images.ctfassets.net/wdjnw2prxlw8/3PKR0XcFQy9HBjO4OvcdS4/f279aea22b578868d971ea15616ac550/Dev_Portal_Gif.gif","contentType":"image/gif"}},{"contentful_id":"5RzmVd8MWRClEWAHoNKMcc","__typename":"ContentfulAsset","description":"","file":{"url":"//images.ctfassets.net/wdjnw2prxlw8/5RzmVd8MWRClEWAHoNKMcc/4cd31d71e89016947a452ae6dd233dda/Develoiper_playground_gif_THIS_ONE.gif","contentType":"image/gif"}},{"contentful_id":"jkD16NKgOwV1LuqHgzihV","__typename":"ContentfulAsset","description":"","file":{"url":"//images.ctfassets.net/wdjnw2prxlw8/jkD16NKgOwV1LuqHgzihV/c37923c6f46dd001000f9acb60dd20a2/image.png","contentType":"image/png"}}]},"image":{"file":{"url":"//images.ctfassets.net/wdjnw2prxlw8/6SsBxZ7599ru4Iu77CxzSB/2ef6e298d62df94e8ca044b6a5b83c42/Screen_Shot_2022-07-20_at_4.50.24_PM.png"}},"pdf":null,"relatedPosts":[{"title":"Product Launch: SDK V 4.0","slug":"product-launch-sdk-v-4-0","content":{"__typename":"ContentfulBlogPost","author":"Lucy Bragg","publishDate":"Nov 22, 2021","updatedAt":"Jan 10, 2022","tags":{"category":{"name":"Product","slug":"product"},"topic":{"name":"SDKs","slug":"sdks"}},"content":{"raw":"{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[{\"type\":\"italic\"}],\"value\":\"Find out what’s new and improved with V 4.0 of our SDKs and how you can launch this solution across your venues. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mappedin’s \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://www.mappedin.com/mapping/sdks/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mobile and Web SDKs\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" allow you to build a completely custom indoor mapping experience, regardless of industry or use case. Our SDKs encompass a wide variety of components and features required to integrate mapping into a website, mobile application, or custom directory. Mappedin’s SDKs are the foundation of every indoor mapping experience we’ve built, and these tools enable clients to build just about anything that incorporates an indoor map. We recently launched our \",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[{\"type\":\"bold\"}],\"value\":\"SDK V 4.0\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\" and this blog will cover what’s new and improved, and how you can get started with this solution today.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Users can expect familiar features and components from our original \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://resources.mappedin.com/blog/product-101-mapping-sdks\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"SDKs\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", including: \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"3D interactive map \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Indoor positioning\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"A-B wayfinding\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Smart Search\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Offline mode\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Amenity icons\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Multi-floor wayfinding\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mapping controls such as pan, zoom, rotate\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"}],\"nodeType\":\"unordered-list\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"New Features\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"In addition to the features above, we have improved and implemented several others to deliver an enhanced indoor mapping and wayfinding experience. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Custom Starting Position\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"With our custom starting position feature, users can define any coordinate on the map as their starting point and begin single or multi-floor navigation to their chosen location. This component, combined with the new multi-destination feature, powers custom navigational experiences across a variety of locations within a venue. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Multi-Destination Support\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"This feature enables users to add various points of interest on the map and create a custom multi-destination route. While navigating to several locations, our multi-destination support calculates the fastest, most efficient path through the venue, providing an enhanced step-by-step journey for the end-user.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Advanced Markers\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mappedin’s Advanced Markers make it possible to reproduce any type of design layout ranging from a simple marker to a Tooltip rendered with HTML content. With this flexible feature, you can create your own custom location marker to highlight the most relevant information for users. Any point on the map can have a marker and display valuable information such as links to a webpage, descriptions, location images, a clickable reservation button, and more. These advanced markers are 3D and interactive, and completely customizable.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"4SKmFMFg13j2beROjVZyE0\",\"type\":\"Link\",\"linkType\":\"Asset\"}}},\"content\":[],\"nodeType\":\"embedded-asset-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Follow Mode\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"As you navigate through your venue, Follow Mode ensures that the map will automatically rotate for every turn along the way without the user having to pan or move the map to keep up. The blue dot experience reaches a whole new level by having the camera focused on the blue dot in top/down to 3rd person view angles throughout the whole journey. Visit our \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/guides/webv4/camera-controls/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"guide\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" to find out more about our camera controls. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"What's New for Developers?\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"The existing functionality built within our Mapping SDKs enable our clients to build reliable and accurate experiences based around an indoor map, without being experts in indoor mapping. With the introduction of our SDK V 4.0, we focused on further improving the developer experience so that building your custom indoor mapping solution has never been simpler.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Performance Improvements\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Our SDKs are highly performant; they work offline and include key navigational features that allow you to expand and create a completely custom mapping and navigation system. By introducing some breaking changes, we are able to deprecate some older version APIs and technologies and continue to make performance improvements. Maps can be developed and loaded even faster than before using new ways of managing assets, using common 3d geometries, and re-shaping the data model.  \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Consistent API Signatures\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We simplified our APIs in general, ensuring consistent high-level API signatures. We removed any confusing APIs, and standardized APIs with the same function. With this refinement, our \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/docs/web/latest/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Web APIs\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" and \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/docs/react-native/latest/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"React Native APIs\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" are a lot easier for developers to use. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Introduction of TypeScript\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We introduced TypeScript everywhere in our SDKs. From a technology standpoint, TypeScript makes interacting with technology easier and more understandable.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Improved Documentation\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We offer well-documented resources for all features and components across iOS, Android and Web. With this release, we refined our SDK documentation further to make it easier to read, and easier for our clients to understand. With \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"strong documentation, sample applications, and step-by-step guides\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" for getting started, we empower our clients to create unique and advanced indoor mapping experiences. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Release Roadmap\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Our release roadmap policy for the entire Mappedin SDK suite across different platforms is now standardized. The release roadmap showcases the timeline of how each of our SDKs go into different major versions, “Current”, “Long Term Support” and “Deprecated” so that Mappedin partner developers can upgrade based on their unique requirements. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"How to Get Started\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mappedin’s Integrations team is dedicated to the evolution of our SDKs and their successful implementations. With robust documentation, migration guides, and developer support, you can launch this solution across your venues without any difficulties. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"For technical differences in the new Web, React Native, iOS, and Android SDKs, see our migration guides \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"here\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\". To get started with Mappedin’s SDKs today, \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://www.mappedin.com/contact-us/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"connect with our team\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\".  \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\\n\\n\\n\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"document\"}"},"articleType":"Article","image":{"fluid":{"base64":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEA2ADYAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAALABQDAREAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAwYEBQf/xAArEAABAwICBwkAAAAAAAAAAAABAgMEABEFMQYSExQhIkEWIyRhcXOBodH/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABURAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIRAxEAPwAulq5GJNtSAyGUxipJSXAoquRfLoLfdWIWcPQh/E2GZGvs1kgpRmeHAD5pSNL0bj7phe73vs3Vpzv1qKXoXiwpiRztq7sjLlBJtcedBL7O4Xe+7G/ur/aC0gR24UYMxgpDYJIGuTn6mg//2Q==","aspectRatio":1.8093971631205674,"src":"//images.ctfassets.net/wdjnw2prxlw8/1WQtydp4FN4rB8xU8WOiOH/a3983c329cc5ca28f41d1e262586ebaa/mobile_sdks.jpg?w=480&q=50","srcSet":"//images.ctfassets.net/wdjnw2prxlw8/1WQtydp4FN4rB8xU8WOiOH/a3983c329cc5ca28f41d1e262586ebaa/mobile_sdks.jpg?w=120&h=66&q=50 120w,\n//images.ctfassets.net/wdjnw2prxlw8/1WQtydp4FN4rB8xU8WOiOH/a3983c329cc5ca28f41d1e262586ebaa/mobile_sdks.jpg?w=240&h=133&q=50 240w,\n//images.ctfassets.net/wdjnw2prxlw8/1WQtydp4FN4rB8xU8WOiOH/a3983c329cc5ca28f41d1e262586ebaa/mobile_sdks.jpg?w=480&h=265&q=50 480w,\n//images.ctfassets.net/wdjnw2prxlw8/1WQtydp4FN4rB8xU8WOiOH/a3983c329cc5ca28f41d1e262586ebaa/mobile_sdks.jpg?w=720&h=398&q=50 720w,\n//images.ctfassets.net/wdjnw2prxlw8/1WQtydp4FN4rB8xU8WOiOH/a3983c329cc5ca28f41d1e262586ebaa/mobile_sdks.jpg?w=960&h=531&q=50 960w,\n//images.ctfassets.net/wdjnw2prxlw8/1WQtydp4FN4rB8xU8WOiOH/a3983c329cc5ca28f41d1e262586ebaa/mobile_sdks.jpg?w=1440&h=796&q=50 1440w,\n//images.ctfassets.net/wdjnw2prxlw8/1WQtydp4FN4rB8xU8WOiOH/a3983c329cc5ca28f41d1e262586ebaa/mobile_sdks.jpg?w=2041&h=1128&q=50 2041w","sizes":"(max-width: 480px) 100vw, 480px"}}}},{"title":"Integrating Indoor Positioning System with Mappedin SDKs","slug":"ips-integration","content":{"__typename":"ContentfulBlogPost","author":"Jere Suikkila","publishDate":"Feb 15, 2022","updatedAt":"Jul 6, 2022","tags":{"category":{"name":"Developers","slug":"developers"},"topic":{"name":"Use Cases","slug":"use-cases"}},"content":{"raw":"{\"data\":{},\"content\":[{\"data\":{\"target\":{\"sys\":{\"id\":\"yV1ZZQhfqbkAoBwXzD0Xn\",\"type\":\"Link\",\"linkType\":\"Asset\"}}},\"content\":[],\"nodeType\":\"embedded-asset-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[{\"type\":\"bold\"}],\"value\":\"You are here\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\" is one of the first things we expect to find on a map today. There is no need to manually triangulate our position based on stars because the device we hold in our hands can already tell us our location. That is if we are outdoors. The story gets more complicated if we move indoors.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"With Indoor Positioning Systems (IPS) users can see their precise location represented by a blue dot within the context of an indoor map. Similar to outdoor GPS, users are not required to enter a \\\"start\\\" location and as they begin to follow along a route, the blue dot moves with them, providing an enhanced navigational experience.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Indoor Positioning Systems are valuable components of rich indoor mapping experiences. They ensure that the user does not need to know their location in a venue. This saves both time and confusion, making for a much more pleasant wayfinding experience.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"GPS has about 3 meter accuracy when we are outside and have no obstructions such as skyscrapers around us. However, inside a building, GPS is nearly useless. That's why several technologies have been developed to provide indoor positioning in various scenarios such as \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://resources.mappedin.com/blog/what-is-blue-dot-wayfinding\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"wayfinding\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://resources.mappedin.com/blog/indoor-mapping-use-case-asset-tracking\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"asset tracking\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\", contact monitoring and smart building applications.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Positioning smarts for indoors\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"4aHfBcHMLcb5o2fmxayffP\",\"type\":\"Link\",\"linkType\":\"Asset\"}}},\"content\":[],\"nodeType\":\"embedded-asset-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"The different indoor positioning systems have different tradeoffs. For example, using beacons requires installing Bluetooth Low Energy (BLE) devices in known positions around the venue. WiFi-based systems use existing infrastructure and requires a radio frequency mapping of the venue. Some systems blend multiple technologies in sensor fusion to further process the positioning data into a more accurate representation of the actual position.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"To integrate with the Mappedin SDKs, it does not really matter what underlying technology is used to obtain the indoor position as long as it can provide information about the current floor and the \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mozilla.org/en-US/docs/Web/API/GeolocationCoordinates\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"geocoordinates\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" (latitude and longitude). Based on that the Mappedin SDK is able to \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/guides/webv4/bluedot\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"place the Blue Dot on the map\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" indicating the current position of the device.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"7tbzSHUglPtWzsIa9kPuUD\",\"type\":\"Link\",\"linkType\":\"Entry\"}}},\"content\":[],\"nodeType\":\"embedded-entry-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"One of the easiest ways to \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://resources.mappedin.com/blog/product-101-imdf-export\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"setup Indoor Positioning System is Apple's infrastructure-free positioning\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" combined with Mappedin map rendering and data management.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Integrating positioning data with Mappedin React Native SDKs\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Below is the \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/guides/react-native/quickstart/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"minimal implementation of drawing a map\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" with Mappedin React Native SDK. In 5 minutes, we will build on this code to display the Blue Dot and override the positions from a premade path of geocoordinates. After ensuring everything works as expected, you can easily connect the IPS to provide the position to Mappedin SDK instead\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"aRyiK6XjGEWNpHL0a2E4F\",\"type\":\"Link\",\"linkType\":\"Entry\"}}},\"content\":[],\"nodeType\":\"embedded-entry-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We have pregenerated a route in \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/code/sdks/react-native/positions.json\"},\"content\":[{\"data\":{},\"marks\":[{\"type\":\"code\"},{\"type\":\"bold\"}],\"value\":\"positions.json\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" that can be used for debugging Blue Dot features in \",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[{\"type\":\"code\"},{\"type\":\"bold\"}],\"value\":\"mappedin-demo-mall\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\". Below is the first element of the list, which we will set as our starting coordinate for camera focus. It follows the \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mozilla.org/en-US/docs/Web/API/GeolocationPosition\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"specification of Geolocation Position of Web APIs\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\".\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"WWftOy5W8uhstWiXOHYNk\",\"type\":\"Link\",\"linkType\":\"Entry\"}}},\"content\":[],\"nodeType\":\"embedded-entry-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"First, we create a \",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[{\"type\":\"code\"},{\"type\":\"bold\"}],\"value\":\"MappedinCoordinate\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\" for our starting location and zoom in the camera to get a closer view of the Blue Dot.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"4nDiMFiWYwIzJj2E7aOJsU\",\"type\":\"Link\",\"linkType\":\"Entry\"}}},\"content\":[],\"nodeType\":\"embedded-entry-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"We set the \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/docs/react-native/latest/enums/state\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"map state\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" to \",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[{\"type\":\"code\"},{\"type\":\"bold\"}],\"value\":\"follow\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\", which keeps the Blue Dot in the middle of the view. Then we enable the Blue Dot and set the starting location.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"3gV9owEJDn12XKswCpc1ko\",\"type\":\"Link\",\"linkType\":\"Entry\"}}},\"content\":[],\"nodeType\":\"embedded-entry-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"To walk through the list of positions, we can create a simple interval outside of our \",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[{\"type\":\"code\"},{\"type\":\"bold\"}],\"value\":\"render\",\"nodeType\":\"text\"},{\"data\":{},\"marks\":[],\"value\":\" method for overriding the position every few seconds. The position will jump to the start after the route is completed. This code is not optimized and should be replaced with the positioning updates coming from your IPS.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"7D6MiKAE2X6B36mYYzcoK2\",\"type\":\"Link\",\"linkType\":\"Entry\"}}},\"content\":[],\"nodeType\":\"embedded-entry-block\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"29dn1eaOYbx5f8K4w1D0Pf\",\"type\":\"Link\",\"linkType\":\"Asset\"}}},\"content\":[],\"nodeType\":\"embedded-asset-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Completed sample\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Below code sample can be pasted into a fresh \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/guides/react-native/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"React Native starter project\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" with the addition of \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://developer.mappedin.com/code/sdks/react-native/positions.json\"},\"content\":[{\"data\":{},\"marks\":[{\"type\":\"code\"},{\"type\":\"bold\"}],\"value\":\"positions.json\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\".\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"7hyVSBE6ShMkx2Qu837G2w\",\"type\":\"Link\",\"linkType\":\"Entry\"}}},\"content\":[],\"nodeType\":\"embedded-entry-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Summary\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mappedin SDKs are ready to work with any IPS provider that can be integrated with your app to provide geolocation and floor to Mappedin within minutes. The Blue Dot can be enabled and then connected to the position updates in just a few lines of code, delivering accurate indoor positioning and enhanced wayfinding experiences.\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"If you want to discuss indoor positioning as it relates to your venue, \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://www.mappedin.com/contact-us/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"contact us now\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\".\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"blockquote\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"document\"}"},"articleType":"Dev Content","image":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAMAAABI111xAAABoVBMVEXR3N/x8fHS0tKQkJCSkpLq6urT0tIOXXXM1djT1NTm5ubCwsK1tbXv7+9Yjp67yc2sr7TQ0dTo6OjE1Nnj4+OqqqrIyMgkbIG5ys/a2tvw8PDr6+uko6Nei5mlu8K8vsLu7u62y9Ht7e07eo2pwcnq6uvm5+jT3N+4y9GcucFGgZNAfI5SiZo6eYwian8MXHSrxMzh5ueJrLYhaoAja4EdZ30ZanoWe4wGXnY/UWVGV2sDV3BmS1wsVGqevMXM1tkdZ3xMWm4MVW4HYXgSbIAXZXsydYlBf5FTippjlaNzn6x/pK+StL5JgZFZY3W0f4kKWHCjvcW+zuTM1+nW1tacnJzl5eXR0NDs7OyFrLjt7u7b4OESXnU5Wm8UVW2MrrioqKje3t63t7d9fX3Ozc1qnKtwn61om6pll6YLWnJXh5bU1NS6urrf39/Pz8+Tk5Pp6enAv79omqkuWW1kTF2Wtr9ZWVnBwMCdvcaQtb/g6u1pm6ocY3gEV3B1nqrFxMTNzMzn5+dlZWXAvr9tnq0laX5HSVxklqTh4eHV1dVVVVWFZ6dkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5gkTDjAgrcPzDgAAALpJREFUCNdjZGDEAL8Zhd8JMzK+52VlZPzJARZ6JMnGqPhG9IXEv4dKyEpZ+B98UbxvIAQXABr3j4WPgeGHHZDzkwGo+5I+WIIJKPicDwjExAXu8NvtvszHt52XhZchEqJvVfhbPkYGhqOeDAxMPKm8vLz3eHh4GICQJ5/hPy/DKRYmBgYuRkvGGaIcXxg+i/5geM7G8I9FEKK5iJGxk3lJbTdIAxMTz7vXbziBYAoHF98fjnZh+bfhZgDvBy0LpeAB/AAAAABJRU5ErkJggg==","aspectRatio":1.7768817204301075,"src":"//images.ctfassets.net/wdjnw2prxlw8/yV1ZZQhfqbkAoBwXzD0Xn/e605b6b14ed11811c0cb5f995cdd75a0/bluedot-accurate.png?w=480&q=50","srcSet":"//images.ctfassets.net/wdjnw2prxlw8/yV1ZZQhfqbkAoBwXzD0Xn/e605b6b14ed11811c0cb5f995cdd75a0/bluedot-accurate.png?w=120&h=68&q=50 120w,\n//images.ctfassets.net/wdjnw2prxlw8/yV1ZZQhfqbkAoBwXzD0Xn/e605b6b14ed11811c0cb5f995cdd75a0/bluedot-accurate.png?w=240&h=135&q=50 240w,\n//images.ctfassets.net/wdjnw2prxlw8/yV1ZZQhfqbkAoBwXzD0Xn/e605b6b14ed11811c0cb5f995cdd75a0/bluedot-accurate.png?w=480&h=270&q=50 480w,\n//images.ctfassets.net/wdjnw2prxlw8/yV1ZZQhfqbkAoBwXzD0Xn/e605b6b14ed11811c0cb5f995cdd75a0/bluedot-accurate.png?w=720&h=405&q=50 720w,\n//images.ctfassets.net/wdjnw2prxlw8/yV1ZZQhfqbkAoBwXzD0Xn/e605b6b14ed11811c0cb5f995cdd75a0/bluedot-accurate.png?w=960&h=540&q=50 960w,\n//images.ctfassets.net/wdjnw2prxlw8/yV1ZZQhfqbkAoBwXzD0Xn/e605b6b14ed11811c0cb5f995cdd75a0/bluedot-accurate.png?w=1322&h=744&q=50 1322w","sizes":"(max-width: 480px) 100vw, 480px"}}}},{"title":"Feature 101: Mappedin Venue Format (MVF)","slug":"feature-101-mappedin-venue-format-mvf","content":{"__typename":"ContentfulBlogPost","author":"Cara Hueston","publishDate":"Nov 11, 2021","updatedAt":"Jan 12, 2022","tags":{"category":{"name":"Product","slug":"product"},"topic":{"name":"Map Editor","slug":"map-editor"}},"content":{"raw":"{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mappedin Venue Format (MVF) is a GeoJSON-based export that translates location data from the Mappedin system into a format that is globally recognized and documented. GeoJSON supports several different geometry types including points, linestrings, multipoint, multilinestring, and multipolygon. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"What is GeoJSON?\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"GeoJSON is based on JavaScript Object Notation (JSON) and used to represent simple geographical features. The format is concerned with geographic data in the broadest sense. Anything with qualities bound in geographical space, not just physical structures, can be conceptualized in this format.   \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"What is MVF? \",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"\",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://www.mappedin.com/mapping/mvf-export/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Mappedin Venue Format\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\" is Mappedin’s proprietary indoor mapping format that is used to power digital map experiences. This export provides customers with geometry and location data associated with their venue. Through an API, Mappedin customers can ensure all recent changes to their data syncs accordingly, whether multiple times a day or once a month. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Benefits of MVF\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Based on a globally recognized JSON format \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Export includes all venue geometry \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Export includes nodes and paths for customers who want to add wayfinding to their MVF-powered experiences \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"},{\"data\":{},\"content\":[{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"API provides easy access to data as often as desired\",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"list-item\"}],\"nodeType\":\"unordered-list\"},{\"data\":{\"target\":{\"sys\":{\"id\":\"3Cz4TXD72O135EqLQw1lhJ\",\"type\":\"Link\",\"linkType\":\"Asset\"}}},\"content\":[],\"nodeType\":\"embedded-asset-block\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Why choose MVF?\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-2\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Interoperability\",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Many platforms understand GeoJSON-based formats, which means that MVF allows customers to integrate indoor maps into many different applications. From layering indoor mapping data onto an outdoor map, integrating with positioning systems, or visualizing detailed data and analytics on a map, Mappedin Venue Format provides customers with ultimate flexibility.  \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Customizability \",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"MVF puts the raw venue data back into the hands of our customers. With access to this raw data, customers can completely control their indoor mapping experience every step of the way and are not bound by features that currently exist in Mappedin’s SDKs or pre-built applications. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"Operational Maps \",\"nodeType\":\"text\"}],\"nodeType\":\"heading-3\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"For industries and use cases where the indoor map does not require 3D wayfinding (an internal-only security map at a mall versus a 3D shopper-facing map, for example) MVF provides the necessary data and gives customers the freedom to build an end experience for their specific use case. In some cases this is a 2D map but through this export, customers still have the ability to use Mappedin’s 3D renderer or select another of their choosing and populate 3D maps. \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"},{\"data\":{},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"To learn more about Mappedin’s GeoJSON exports, \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"https://resources.mappedin.com/blog/product-101-geojson-exports\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"visit our website\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\". To determine what solution is best for your venue, or to book a free demo, \",\"nodeType\":\"text\"},{\"data\":{\"uri\":\"http://www.mappedin.com/contact-us/\"},\"content\":[{\"data\":{},\"marks\":[],\"value\":\"contact us today\",\"nodeType\":\"text\"}],\"nodeType\":\"hyperlink\"},{\"data\":{},\"marks\":[],\"value\":\".  \",\"nodeType\":\"text\"}],\"nodeType\":\"paragraph\"}],\"nodeType\":\"document\"}"},"articleType":"Article","image":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAMAAACejr5sAAAAn1BMVEX7+/v8/Pz9/f35+fn5+Pj7+vr6+vry8vLx8fH58/H37ev47+z4+Pjw8PD29vb09PTz8/Pw5uPt7e3s7Ozo6Ojr6+vq6urv7+/l5eXm5ubp6enn5+fj4+Pd3d3e3t7k5OTh4eHg4ODa2trc3Nzm5eXi4uLb29vZ2dn39/fX19ff39/i4eHu7u719fXy6ef19PP59PP37uz37+z7+fj6+fnzWINhAAAACXBIWXMAABcRAAAXEQHKJvM/AAAAB3RJTUUH5gkHETAweHXH7wAAAKxJREFUGBltwetagkAUBdC9DyUnY5hRhkHAEMSsaLDr+z9bF//UV2sBBEBQBAl4hguIyGWy4A/gL0mqIMFvV8trkpkayS0IwmjqdKW6LgrJM/WlAUxw1aZu2u1N2e22fT90JWzYj9oc+vG286UPvjuOd5D7Bz8Oaz9tjrt6mob2sakgi6YIro9zbWwYorq0jWC0VXTV7ObTE5ln/ASb6Mwvzy+vbzwD/wH+Ie8fA2oM7643AlgAAAAASUVORK5CYII=","aspectRatio":1.5,"src":"//images.ctfassets.net/wdjnw2prxlw8/4ByxwBd9tmVZ78Mzd7ZQuc/ef613c27eec02d3f7d9cd3c9cb75e96e/imdf_exporter_desktop.png?w=480&q=50","srcSet":"//images.ctfassets.net/wdjnw2prxlw8/4ByxwBd9tmVZ78Mzd7ZQuc/ef613c27eec02d3f7d9cd3c9cb75e96e/imdf_exporter_desktop.png?w=120&h=80&q=50 120w,\n//images.ctfassets.net/wdjnw2prxlw8/4ByxwBd9tmVZ78Mzd7ZQuc/ef613c27eec02d3f7d9cd3c9cb75e96e/imdf_exporter_desktop.png?w=240&h=160&q=50 240w,\n//images.ctfassets.net/wdjnw2prxlw8/4ByxwBd9tmVZ78Mzd7ZQuc/ef613c27eec02d3f7d9cd3c9cb75e96e/imdf_exporter_desktop.png?w=480&h=320&q=50 480w,\n//images.ctfassets.net/wdjnw2prxlw8/4ByxwBd9tmVZ78Mzd7ZQuc/ef613c27eec02d3f7d9cd3c9cb75e96e/imdf_exporter_desktop.png?w=720&h=480&q=50 720w,\n//images.ctfassets.net/wdjnw2prxlw8/4ByxwBd9tmVZ78Mzd7ZQuc/ef613c27eec02d3f7d9cd3c9cb75e96e/imdf_exporter_desktop.png?w=960&h=640&q=50 960w,\n//images.ctfassets.net/wdjnw2prxlw8/4ByxwBd9tmVZ78Mzd7ZQuc/ef613c27eec02d3f7d9cd3c9cb75e96e/imdf_exporter_desktop.png?w=1440&h=960&q=50 1440w,\n//images.ctfassets.net/wdjnw2prxlw8/4ByxwBd9tmVZ78Mzd7ZQuc/ef613c27eec02d3f7d9cd3c9cb75e96e/imdf_exporter_desktop.png?w=2028&h=1352&q=50 2028w","sizes":"(max-width: 480px) 100vw, 480px"}}}}],"tags":{"category":{"slug":"developers","name":"Developers"},"topic":{"slug":"features","name":"Features"}}}}},"pageContext":{"slug":"mappedin-developer-portal-launch"}},
    "staticQueryHashes": ["1252674921","3226752585","3508205345","764694655"]}