var mymarkers= []; //array
function createMarker(point,html,ref){
var marker = new GMarker(point);
mymarkers[ref] = marker;
GEvent.addListener(newmarker,'click',function(){newmarker.openInfoWindowHtml(html);});
map.addOverlay(newmarker);
}
这个功能效果很好,它为地图添加了一个标记没问题,但是当试图使用mymarkers []标记数组时,它们还没有被存储?
是否有验证器检查GMarker是否干净?
谷歌地图main.js引发了摇摇欲坠:
Uncaught TypeError: Cannot read property '__e_' of undefined
答案 0 :(得分:1)
您似乎需要使用mymarkers[ref]
而不是newmarker
(未定义)。实际上,该功能可以进一步简化如下:
var mymarkers = [];
function createMarker (point, html, ref) {
mymarkers[ref] = new GMarker(point);;
GEvent.addListener(mymarkers[ref], 'click', function () {
mymarkers[ref].openInfoWindowHtml(html);
});
map.addOverlay(mymarkers[ref]);
}