backbone.js + google.maps api v3 + overlayview =使用骨干进行原型设计

时间:2012-08-25 19:44:14

标签: javascript google-maps google-maps-api-3 backbone.js

我读过:

Mixing Google Maps custom overlays with Backbone Views

并尝试实现和玩弄它,因为我需要使用自定义叠加作为视图,我已经使用backbone.js

var Label = function(){
        Backbone.View.apply(this, arguments);
        this.newInit();
    };

    Label.extend = Backbone.View.extend;

    _.extend(Label.prototype, Backbone.View.prototype, google.maps.OverlayView.prototype,{
        newInit: function(){
         this.setMap(this.options.map);
        },
        onAdd: function(){...},
        onRemove: function(){...},
        draw: function(){...}
    });

    var label_view = new LabelView({map: map});
    label_view.bindTo('some_event', {name: 'some_event_occured'});

根据我的测试,“draw”方法不会被调用,尽管它应该覆盖它。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

找到解决方案:

var Label = function(){
        Backbone.View.apply(this, arguments);
        google.maps.OverlayView.apply(this, arguments);
    };

而不是

newInit: function(){

使用:

initialize: function(options){

希望这有帮助