Когда я ставлю этот код в файл script.js и включаю в себя он работает нормально,прототип функция в файл JavaScript, загруженная requirejs
но когда я реализую этот код в файл яваскрипта нагруженного requirejs функция createMapOnOverlay является не найден, который называется снаружи, как это:
var overlay = new AlarmOverlay(...);
overlay.createMapOnOverlay(..);
alarmoverlay.js:
AlarmOverlay.prototype = new google.maps.OverlayView();
/* constructor */
function AlarmOverlay(bounds, alarmNumber, alarmCssClass) {
// initialize all properties for an alarm
this.bounds = bounds;
this.alarmNumber = alarmNumber;
this.alarmCssClass = alarmCssClass;
}
AlarmOverlay.prototype.createMapOnOverlay = function(map) {
// Explicitly call setMap on this overlay
this.map = map;
this.setMap(map);
};
AlarmOverlay.prototype.onAdd = function() {
};
AlarmOverlay.prototype.draw = function() {
};
I должны поставить код выше в этом ниже script.js файл, который загружается на requirejs: но приведенный ниже код не работает
define(function() {
return function AlarmOverlay(bounds, alarmNumber, alarmCssClass) {
var self = this;
self.prototype = new google.maps.OverlayView();
self.bounds = bounds;
self.alarmNumber = alarmNumber;
self.alarmCssClass = alarmCssClass;
//AlarmOverlay.prototype.createMapOnOverlay = function(map) {
self.map = map;
self.setMap(map);
//};
AlarmOverlay.prototype.onAdd = function() {
};
AlarmOverlay.prototype.draw = function() {
};
};
});
Как я должен получить от Google OverlayView, что я могу назвать createMapOnOverlay функция извне, которая должна вызывать setMap из базового класса?
да да да. Возврат пропал :) – Elisabeth