Google 地图 API 重新加载标记

Google Maps API Reload Markers

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

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

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

我认为没有任何方法可以在地图启动之间自动保存标记,因此您要么必须保存信息以重新创建它,要么可以利用 googleMap.addMarker() returns 一个标记对象,并将其序列化为 SharedPerferences,然后在您的应用下次启动时重新添加它。

查看以下内容: addMarker()Marker

有关使用共享首选项的示例,请参阅以下内容 link,但这里是开发人员指南中的示例。

public class 计算扩展 Activity { public 静态最终字符串 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();
}

}