我在向标记添加信息窗口时遇到了问题。虽然它们看起来都很好,如果我点击它们,窗口就会出现,我似乎遇到了一个错误,我不知道它想要什么。
问题在于,当我单击标记时,会出现包含所有信息的窗口。我收到一个:“Uncaught TypeError: Object [object Object] has no method 'N'” 错误,在 main.js 中,这是由 Sencha Architect 本身生成的。
它显示信息,但我仍然可以打开多个屏幕,但关闭屏幕不起作用,这当然是我想要的,因为我不明白为什么 150 个不同的标记应该全部显示内容屏幕,如果我无法关闭它们。
我的创建标记函数的代码如下(请注意,他在循环中运行以创建 150 个标记)
var infoWindow;
// Creating a marker
var title = data.stembureau_2;
var yay = map.getMap();
var icon = 'markers/SGA.png';
var gpa = data.gpa;
if (gpa == 'Ja'){
icon = 'markers/GPA.png';
}
var marker = new google.maps.Marker({
position: new google.maps.LatLng(data.latitude, data.longitude),
map: yay,
title: title,
icon: icon
});
// Creating an InfoWindow object
var content = data.stembureau_1;
infoWindow = new google.maps.InfoWindow({
content: content
});
// Loading the Infowindow on a click event
google.maps.event.addListener(marker, "click", function() {
infoWindow.open(map, this);
});
// Closing the Infowindow on a click event
closeInfoWindow = function() {
infoWindow.close();
};
google.maps.event.addListener(map, 'click', closeInfoWindow);
return marker;
最佳答案
已经修复了,非常简单。我之前将 yay 称为 map 对象,但我没有提到。我的小错误是我经常过度阅读!不管怎样,谢谢你。
关于javascript - Infowindow googlemaps点击事件给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12246084/