【发布时间】:2014-03-01 00:01:52
【问题描述】:
我想在 Backbone.ja 应用中的谷歌地图上的标记上切换打开和关闭 Infowindow div。
在我看来,我有一个具有 google.maps.event.addListener 的初始化函数。
function initialize(viewOptions, app) {
this.app = app;
this.address = '';
this.terms = [
'Food',
'Bar'
];
// this.listenTo(this.collection, 'reset', this.render);
this.listenTo(this.collection, 'add', this.addmarker);
this.render();
google.maps.event.addListener(map, 'click', function() {
console.log('Clicked')
// infoclicker.call();
});
};
这个 addListener 似乎不起作用。当我单击标记时,甚至只是地图上的任何位置,它都不会触发 console.log。我在这里做错了什么?
另外仅供参考:渲染函数调用了一个 _setMap 函数,用于设置地图。
function _setMap(zoom, lat, long) {
var mapOptions = {
zoom: zoom ? zoom : 15,
center: new google.maps.LatLng(lat ? lat : 45.5200,long ? long : -122.6819)
};
this.map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
};
【问题讨论】:
-
map在那个addListener电话中是什么? -
我相信“地图”是在 _setMap 函数中创建的谷歌地图对象的实例。
-
拨打
_setMap时有#map-canvas吗? -
调用_setmap时地图模板中有#map-canvas。
-
只是在模板中还是在页面本身?您是否检查过
document.getElementById('map-canvas')是否返回了您期望的结果?
标签: backbone.js google-maps-api-3 google-maps-markers