2013-08-16 86 views
1

我想使用实时API实现类似于Google Docs的用户体验。 我想知道跟踪所有合作者的游标/选择的最佳方法是什么。Google Drive SDK实时/多个游标(IndexReference?)

看起来好像IndexReference是要走的路,但是如何跟踪协作者是否将IndexReference添加到字符串?

在实时API沙箱中,只会跟踪来自本地光标的光标移动。 IndexReferences是否广播给所有协作者,还是仅用于本地使用?

或者是创建包含所有选择的协作地图的首选方法? 有没有办法将某些字段添加到协作者,以便在协作者离开时将其清理干净?

回答

0

IndexReferences与其他任何数据模型对象一样。您可以将侦听器添加到他们以通知更改。

您可能想从sessionId - >游标信息获取映射。游标信息的表示方式取决于你想要跟踪的内容,但它可能是一个字符串的索引引用。

您可以收听协作者离开事件以确定何时删除协作者的光标。

+0

感谢您的回复! 关于IndexReferences:如果用户A创建一个IndexReference,用户B是否能够看到该引用?没有办法获得注册参考。 – dflorey

+0

我认为IndexReferences只是本地的。我的计划(我还没有实现)是为每个客户在Cheryl建议的sessionId - >游标信息映射中保留自己的条目。客户端将更新他们在用户输入和他们在他们的光标位置注册的IndexReference上的事件的光标信息。然后,客户端还监听其他sessionId条目的更改并呈现远程客户端游标。 –

+0

我预见的唯一问题是文档的更改和远程光标变化之间的延迟,因为链的样子: 本地DOC变化 - > 远程客户端接收的文档变化&索引参考变化 - > 远程客户端更新光标地图 - > 光标贴图更改在本地接收 - > 光标呈现。 这种延迟可以通过在有意义的情况下利用为远程客户端光标位置注册的IndexReference进行推测来解决。 –