1

もう読んだ:

Google マップのカスタム オーバーレイとバックボーン ビューの混合

カスタムオーバーレイをビューとして使用する必要があるため、実装していじってみましたが、すでに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'});

そして、私がテストしたことから、「描画」メソッドは、それをオーバーライドすることになっているにもかかわらず、呼び出されません。私は何を間違っていますか?

4

1 に答える 1

0

解決策を見つけました:

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

そして代わりに

newInit: function(){

使用する:

initialize: function(options){

お役に立てれば

于 2012-08-26T17:59:05.913 に答える