我使用以下代码在Google Map API中添加标记
googleMap.addMarker(new MarkerOptions()
.position(point)
.title(text)
.snippet(textinfo)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
}
如何让它们保存(我猜在onResume和OnPause中),这样当我重新启动应用程序而不是消失时它们会出现?
答案 0 :(得分:0)
我认为没有任何方法可以在启动地图之间自动保存标记,因此您必须保存信息以重新创建它,或者您可以利用googleMap.addMarker()
返回的事实标记对象,并将其序列化为SharedPerferences,然后在下次启动应用时重新添加。
请参阅以下内容: addMarker() 和 Marker
有关使用“共享首选项”的示例,请参阅以下link,但以下是开发人员指南中的示例。
public class Calc extends Activity { public static final String PREFS_NAME =“MyPrefsFile”;
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . .
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
setSilent(silent);
}
@Override
protected void onStop(){
super.onStop();
// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode);
// Commit the edits!
editor.commit();
}
}