在 Backbone.js 中添加 Bing Ajax 地图控件的正确位置?

Correct place to add Bing Ajax Map Controls in Backbone.js?

全部,

我需要 Bing 地图及其位置 API,以便将地理定位数据绘制为地图上的图钉。

有关 Bing 地图的更多信息,请点击此处:

https://msdn.microsoft.com/en-us/library/gg427610.aspx

这将显示在我的单页应用程序中,使用 Backbone.js

这基本上是这样工作的:

initalise bing maps on the page
receive data from another model
plot that data on the map layer
listen for events from ui

对我来说,这听起来像是一个模型的候选者,但是这个功能是直接改变视图(层)。这似乎违背了 Backbone 中观察模型变化的视图的原则,它不受模型控制。

我应该把这段代码放在哪里有什么建议吗?

  1. "initalise bing maps on the page" - 在视图的渲染中(或者如果使用 Marionette onRender)方法。
  2. 理想情况下,这是在初始化时提供给视图的模型,例如新的 MyView({模型: myModel});然后你在这个模型上收听一些事件。
  3. 从处理模型更改的事件处理程序中的视图调用一些 Bing API。
  4. 监听 UI 事件是核心视图职责。