I’m trying to create an offline mobile app that allows users to add\edit markers to an offline map (offline OpenStreetMap tiles or mbtiles?).
These markers will be stored on the device (sqllite database or vector layer or something else?) then uploaded later when connectivity is available.

Initially this will be developed using C# Xamarin in an android app with the intention of having an IOS version at a later date.

I’ve seen several incomplete examples but no hard and fast rules. I’m stuck as to how to approach this problem and I’m asking myself:
  1. What technology should I used to locally display the map e.g. a JS library like OpenLayers or Leaftlet or other some proprietary (free!) tool?
  2. Whats best way to store and displayed tiles (or vector files) offline?
    I have created a sample that displays a html page in a WebViewClient using OpenLayers.js and x,y,z folder structure - I used mbUtil to extract tiles from a mbtile database.
  3. Whats the best way of storing the map data offline? Should the map viewer save data directly to the sqllite database or should the data be managed by the Activity?