Javascript Google Drive实时API-添加协作地图

Javascript Google Drive实时API-添加协作地图,javascript,google-api,google-drive-realtime-api,Javascript,Google Api,Google Drive Realtime Api,我的计划是创建一个数据模型,它是一个协作地图,包含协作列表,其中包含自定义对象。然而,我很难理解GoogleAPI文档。其目标是尝试创建一个事件管理工具,类似于此处演示的工具 我认为这会创建地图,但是,我不知道如何访问它来添加地图不同分支的自定义列表,然后依次向这些分支添加自定义对象。我对谷歌实时API非常陌生。非常感谢您的帮助。谢谢,要创建协作地图,请使用Model.createMap()。您在initializeModel函数中的操作是正确的: var map = model.createM

我的计划是创建一个数据模型,它是一个协作地图,包含协作列表,其中包含自定义对象。然而,我很难理解GoogleAPI文档。其目标是尝试创建一个事件管理工具,类似于此处演示的工具


我认为这会创建地图,但是,我不知道如何访问它来添加地图不同分支的自定义列表,然后依次向这些分支添加自定义对象。我对谷歌实时API非常陌生。非常感谢您的帮助。谢谢,

要创建协作地图,请使用
Model.createMap()
。您在initializeModel函数中的操作是正确的:

var map = model.createMap();
要将项目添加到协作地图,请使用
CollaborativeMap.set
。将创建的映射添加到根映射时,您也在initializeMap函数中执行以下操作:

model.getRoot().set('map', map);
请注意,所有模型都以名为根的协作映射开始,您可以使用
Model.getRoot()
访问该映射。因此,在initializeModel函数之后,文档模型如下所示

{map: {}}
因此,您已经成功创建了一个协作地图,可以向其中添加协作列表。在onFileLoaded函数中,使用以下行获取对该映射的引用:

var map = doc.getModel().getRoot().get('map');
要将列表添加到地图,您需要创建一个列表:

var list = doc.getModel().createList();
然后将列表添加到地图:

map.set('mylist', list);
现在,您的文档模型如下所示:

{map: {mylist: []}}
我不知道你最后一句话的意图是什么<代码>变量映射是一个对象,不可调用。通常在添加事件处理程序时引用事件类型。例如,如果希望在映射上的值更改时运行函数,可以执行以下操作:

map.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,
    function(e) {
        console.log('key ' + e.property + ' changed from value ' + e.oldValue + ' to value ' + e.newValue);
    });
map.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,
    function(e) {
        console.log('key ' + e.property + ' changed from value ' + e.oldValue + ' to value ' + e.newValue);
    });