¿Cómo podría almacenar mi propio mapa (como Google Map) en una base de datos y recuperarlo en una aplicación móvil?

Tienda donde? ¿En el dispositivo o en un servidor? En el dispositivo no es una opción a menos que tenga muchas menos funciones que Google Map. O almacenas áreas muy pequeñas. Los servidores de Google Map tienen una PILA de datos demasiado para poner en un dispositivo.

Si está buscando administrar sus propios datos, comenzaría con el wiki de Open Street Map, es una buena descripción general y hay muchos enlaces a discusiones muy detalladas sobre cómo hacerlo. También hay enlaces que definen claramente el tamaño de los datos.

La mayoría de todos los datos de mapas, no administrados por grandes cuerpos, terminan en una base de datos de Postgres con las extensiones GIS agregadas. Nuevamente, el sitio Open Street Map analiza formas de hacer esto con gran detalle.

Los datos del mapa tienen dos problemas algorítmicos básicos:

  1. Gran tamaño de datos
  2. Buscar una lista de elementos, con fecha de ubicación, para los que están cerca de mí es un desafío algorítmico no trivial. Mucha gente ha trabajado duro para encontrar mejores formas matemáticas de hacer esto. Gran parte de ese trabajo está integrado en la extensión GIS de Postgres.

Para muchas aplicaciones que utilizan las interfaces de servicio web Open Street Map o Google Maps, el truco será suficiente. Ambos implican un costo si su aplicación genera grandes volúmenes de llamadas de datos a sus servidores. Y ambos requieren una conexión de red para funcionar. Las aplicaciones de mapeo que pueden ejecutarse sin conexión generalmente necesitan tener datos para áreas pequeñas descargadas antes de que funcionen. También generalmente necesitan purgar esos datos para un área antes de que tengan espacio para descargar otra área.