Offline-editor-js

Examples of how to build lightweight offline mapping applications for the web.

Editing

Build web mapping and geospatial applications that use the ArcGIS JavaScript API and allow you to temporarily store adds, updates and deletes of geographic features while the device is offline. It also provides limited support for attachments.

Tiles

Stores tile images from tiled map services locally. Once tiles are stored your mapping app can seemlessly transition between online and offline modes.

TPK

Add .tpk files (binary tile packages) directly to your app whether it is online or offline. Use TPKs as the stand-alone mapping source file or alongside tiled map services.


Super Simple Editing App

Basic Editing Only

This bare-bones sample provides lightweight protection from the occasional internet connection interruption while editing. It automatically manages storing edits while the app is offline and then resync's the edits when the app returns online.


Advanced Apps

Check out the following full-featured applications.

Tiles Only

Gives you an overview of the functionality related to storing and managing multiple layers of tiles.

Feature Editing

This app shows how add, update and delete geographic features while offline and auto-resync when internet is reestablished.

Attachments

Demonstrates working with geographic feature attachments such as images and associating them with a feature while offline.

TPK Only

Shows how to integrate .tpk files into your mapping app. Tile packages are a set of tile images from a map compressed into a single binary file.

AppCache Features and Tiles

This mobile feature editing demo is configured to maintain your edits and tiles after offline browser reloads and restarts.

AppCache Tiles Only

A bare bones app that demos maintaining the map tiles after offline browser reloads and restarts.

Supported Browsers

The offline libraries are supported on the latest versions of the following browsers and operating systems.

Chrome Firefox Internet Explorer Edge Opera Safari
Android Supported Supported N/A N/A Not Supported N/A
iOS Supported N/A Not Supported * Supported
Mac OS X Supported Supported Not Supported * Supported
Windows Supported Supported Not Supported Not Supported Not Supported Not Supported

Important note for Hybrid app developers (e.g. PhoneGap\Cordova): this library is not supported for hybrid deployments. There are too many different variations of iOS and Android browser's and versions to make this feasible. We've only done very limited proof-of-concept testing using WebView. Make sure you do thorough testing on as many different phones and tablets as possible. One suggestion is to build a test app and run the Unit Test suite which is in this project under /test.

Windows developers: Edge is under consideration for developement support-only.

* - means that IndexedDBShim.js may be required on this browser/platform. More info available in the README under Dependencies.