Creé una aplicación en la que los usuarios pueden agregar varios marcadores en los mapas de Google utilizando superposiciones. Quiero que la aplicación guarde la superposición cuando el usuario la cree, de modo que cuando vuelvan a abrir la aplicación más adelante, los marcadores seguirán presentes.
Actualmente, cada vez que se vuelve a abrir la aplicación, los marcadores creados desaparecen. He buscado en Internet y no tengo una comprensión clara de cómo guardar mis marcadores/superposiciones sin conexión para su uso posterior.¿Cómo guardar las superposiciones adicionales de google maps en una aplicación de Android?
Respuesta
Es sólo una idea, pero se puede guardar los marcadores en la base de datos y cuando vuelva a abrir su mapa del mismo consultar la base de datos y lo puso en el mapa de nuevo ...
se debe usar algún almacenamiento persistente. SQLite probablemente sea la mejor opción aquí. Las superposiciones tienen su lat y lng. Solo tiene que obtenerlos junto con los datos que necesite junto con ellos y ponerlos todos en la base de datos SQLite. Luego, en Activity start, obtén los puntos de la base de datos y muéstralos en el mapa.
Como se mencionó, necesita usar some persistent storage. Quizás, la base de datos sería un exceso en su caso particular (si simplemente necesita guardar un grupo de pares de latitud y longitud), y las Preferencias compartidas se adaptarían a sus necesidades. Si rara vez necesita leer/guardar estos datos, a continuación, poner JSONArray
como una cadena de Preferencias compartidos sería la solución más simple (en términos de lectura y extracción de datos):
SharedPreferences.Editor editor = getSharedPreferences("name", 0).edit();
JSONArray jsonArr = new JSONArray();
JSONObject json;
for (int i = 0; i < user_markers.size(); i++) { // here I assume that user_markers is a list where you store markers added by user
json = new JSONObject();
json.put("lat", user_markers.get(i).getLat());
json.put("long", user_markers.get(i).getLong());
jsonArr.put(json);
}
editor.putString("markers", jsonArr.toString());
editor.commit();
Si usted necesita leer/tienda esta datos un poco más a menudo, entonces puede asignar ids/indexes para separar los valores de SharedPreferences, pero esto puede requerir un método de extracción más complicado. Por ejemplo:
SharedPreferences.Editor editor = getSharedPreferences("name", 0).edit();
int id;
for (int i = 0; i < user_markers.size(); i++) { // here I assume that user_markers is a list where you store markers added by user
id = user_markers.get(i).getId(); // some Id here
// or simply id = i;
editor.putString("markers_lat_" + id, user_markers.get(i).getLat());
editor.putString("markers_long_" + id, user_markers.get(i).getLong());
}
editor.commit();
Después de todo, usted debe considerar el uso de la base de datos si va a almacenar gran cantidad de datos o datos de estructura complicada.
- 1. Google Maps API v3 - ¿Cómo borrar las superposiciones?
- 2. Google Maps sin conexión en una aplicación de Android
- 3. Android - Enrutamiento de Google Maps
- 4. Google maps para guardar direcciones arrastrables
- 5. Usar google maps sin conexión en una aplicación
- 6. ¿Cómo desarrollar una aplicación de Android con Google Maps API en múltiples computadoras?
- 7. Google Maps Guardar polígono y puntos en MySQL usando PHP
- 8. ¿Cómo funcionan las superposiciones de Turbo Pascal?
- 9. imagen de Google Maps?
- 10. google maps usando phonegap en android
- 11. API de Google Maps para Android da una NoClassDefFoundError
- 12. ¿Cómo guardar 2 cadenas en una aplicación de Android?
- 13. Cómo guardar datos en una aplicación de Android
- 14. En caso de zoom para google maps en android
- 15. personalizada capa de tráfico de Google Maps
- 16. Mapa límites Utilizando Android de Google Maps
- 17. Cómo resaltar una región en Google Maps
- 18. ¿Cómo mostrar una ruta entre dos geocoords en google maps?
- 19. eliminar las superposiciones de mapkit en iphone
- 20. ¿Cómo agregar Google Maps en mi aplicación en Qt?
- 21. Análisis JSON de la API de Google Maps en la aplicación de Android
- 22. ocultar listados locales de google maps api
- 23. ¿Cómo precargar algunas partes de google maps?
- 24. Google Maps algoritmo
- 25. Desencadenar Google Maps desde el navegador de Android
- 26. ¿Puedo obtener el código fuente de la aplicación Google Maps de Android?
- 27. ¿Los límites de la API de Google Maps se aplican a las aplicaciones de Android?
- 28. Dar doble valor a Geopoint en las superposiciones de GoogleMap
- 29. Distancia de píxeles en Google Map (API V3) para evitar la superposición de etiquetas/superposiciones
- 30. cómo guardar el estado de la aplicación en Android
esta es la mejor manera también he intentado este truco en mi aplicación gr8 sigue trabajando :) –