我试图想出一张显示物体行进路径的地图。
我使用了OSMDroid和pathOverlay。我已经成功地实现了这一点,但是一旦我按下它就会这样。我想保留路径并查找可用选项。
savedInstanceState类似于我想要的东西。
我尝试了以下代码:
static final String STATE_PATH = "objPath";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
// Restore value of members from saved state
savedInstanceState = savedInstanceState.getBundle(STATE_PATH);
} else {
setContentView(R.layout.activity_location);
...
defineMap();
...
pathOverlay = new PathOverlay(Color.RED, this);
}
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save the user's current game state
//savedInstanceState.putAll(savedInstanceState);
savedInstanceState.putBundle(STATE_PATH, savedInstanceState);
// Always call the superclass so it can save the view hierarchy state
super.onSaveInstanceState(savedInstanceState);
}
这似乎不起作用。有人能指出我出错的地方吗?
答案 0 :(得分:0)
osmdroid叠加层不是Parcelable。这意味着您无法在包中添加叠加层。
解决方案是定义自己的类来存储“数据模型”。然后在每次需要时从此数据模型构建路径覆盖。 由于此数据模型将是您自己的类,您可以将它们定义为Parcelable,并将它们放在Bundles中。