Google Maps API重新加载标记

时间:2015-06-06 00:55:11

标签: java android google-maps google-maps-markers

我使用以下代码在Google Map API中添加标记

googleMap.addMarker(new MarkerOptions()
         .position(point)
         .title(text)
         .snippet(textinfo)
         .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
}

如何让它们保存(我猜在onResume和OnPause中),这样当我重新启动应用程序而不是消失时它们会出现?

1 个答案:

答案 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();
}

}