0
我在後面的骨幹視圖中遇到了一個問題,呈現谷歌街景。街景和骨幹變量範圍
問題是,在processSVData函數中,this
不是App.DetailStreetView
的實例。當我console.log(this)
裏面processSVData()
,我得到DOMWindow
對象。因此,試圖訪問this.panorama
當我undefined
App.DetailStreetView = Backbone.View.extend({
initialize: function() {
this.latLng = new google.maps.LatLng(37.869085,-122.254775);
this.panorama = new google.maps.StreetViewPanorama(this.el);
},
render: function() {
var sv = new google.maps.StreetViewService();
sv.getPanoramaByLocation(this.latLng, 50, this.processSVData);
},
processSVData: function(data, status) {
if (status == google.maps.StreetViewStatus.OK) {
// calculate correct heading for POV
//var heading = google.maps.geometry.spherical.computeHeading(data.location.latLng, this.latLng);
this.panorama.setPano(data.location.pano);
this.panorama.setPov({
heading: 270,
pitch:0,
zoom:1,
});
this.panorama.setVisible(true);
}
},
});
最好的解決方案,因爲你已經在頁面上有下劃線。儘可能使用本地綁定。 – adrian
@ amchang87:下劃線的'_.bindAll'建立在'_.bind'上,並且AFAIK,'_.bind'使用本地的'Function.bind'(如果可用)。 –