As PhD noted , you need render to do something. Here is my own working example, which assumes the existence of an existing <div id="map"></div> on the page:
APP = {}; APP.Map = Backbone.Model.extend({ defaults: { center: new google.maps.LatLng(-34.397, 150.644), zoom: 8, mapTypeId: google.maps.MapTypeId.ROADMAP } }); APP.map = new APP.Map(); APP.MapView = Backbone.View.extend({ id: 'map', initialize: function(){ this.map = new google.maps.Map(this.el, this.model.attributes); this.render(); }, render: function(){ $('#map').replaceWith(this.el); } }); APP.mapView = new APP.MapView({model: APP.map});
source share