如何在Android应用程序中保存添加的谷歌地图叠加?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Android应用程序中保存添加的谷歌地图叠加?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1613字,纯文字阅读大概需要3分钟。
内容图文
![如何在Android应用程序中保存添加的谷歌地图叠加?](/upload/InfoBanner/zyjiaocheng/826/81efde9b7b46463e9359b69fe692c0d7.jpg)
我创建了一个应用程序,用户可以使用叠加层在谷歌地图上添加各种标记.我希望应用程序在用户创建时保存叠加层,这样当他们稍后重新打开应用程序时,标记仍将存在.
目前,只要重新打开应用程序,创建的标记就会消失.我已经搜索过互联网,并且没有清楚地了解如何将我的标记/覆盖图保存为脱机以供以后使用.
解决方法:
如上所述,您需要使用some persistent storage.也许,在您的特定情况下数据库将是多余的(如果您只需要保存一堆经度 – 纬度对),并且共享首选项将满足您的需求.如果您很少需要读取/存储此数据,那么将JSONArray作为字符串添加到共享首选项将是最简单的(在读取和提取数据方面)解决方案:
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();
如果您需要更频繁地读取/存储此数据,则可以将id / index分配给SharedPreferences的值,但这可能需要更复杂的提取方法.例如:
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();
毕竟,如果您计划存储大量数据或复杂结构的数据,您应该考虑使用数据库.
内容总结
以上是互联网集市为您收集整理的如何在Android应用程序中保存添加的谷歌地图叠加?全部内容,希望文章能够帮你解决如何在Android应用程序中保存添加的谷歌地图叠加?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。