我用Meteor构建了一个简单的应用程序。它基本上从数据库获取位置并将其显示给用户。这是通过webservice完成的。在模板中我有一个谷歌地图。获取位置坐标,然后在地图上显示它们。基本思想有效。但是,问题是当谷歌地图加载时我的网络服务被调用。因此,当创建模板映射时(它是在用户选择制表符/地图并创建地图模板时创建的 - 或者我错了吗?)。因此,当我首先打开我的主页时,没有调用web服务,我也没有得到数据。
这个问题是如何解决的?我想在用户打开应用程序时加载所有数据。我认为onRendered和onCreated不会解决这个问题。如果你知道答案,请写下来,如果很明显请分享一个我可以阅读的链接。
由于
答案 0 :(得分:0)
要解决您的问题,您应首先创建地图(不带标记),当您拥有用户的地理定位时,您将能够在地图上绘制它。或者您可以在渲染地图之前等待用户位置。您所需要的只是一种反应性治疗。
您可以将变量存储在ReactiveVar中 - 您只需要添加这个非常有趣的包:
if let action = ball.actionForKey("aKey"){
action.speed = 0
}
或者你可以使用meteor Session。我将使用会话作为示例,它更容易。
您的meteor add reactive-var
(我未经测试就写过,如果您有任何问题,可以对此帖发表评论)
template.js
来源谷歌地图API:run action with key