Я использую Mootools для нескольких вещей, таких как bumpboxes и прочее в приложении Google Maps. Все работало на 100%, до того, как я добавил скрипт Mootools, не имеет значения, если я добавлю скрипт до или после того, как объявлю свои глобальные переменные, Mootools убьет их ... посмотрите на фрагмент
<script language="javascript" type="text/javascript" src="mootools.js"></script>
<script language="javascript" type="text/javascript" src="bumpbox.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript">
</script>
<script type="text/javascript">
var currentBounds;
var currentMarker = null;
var currentInfo = null;
var markersArrayProps = [];
var markersArrayAreas = [];
</script>
Есть намного больше ... но это только показывает, что происходит, все работает нормально, если я уберу строку, вызывающую mootools.js
. В основном markersArrayProps
заполняется так во время XMLHTTPRequest:
markersArrayAreas.push(marker);
Затем имеется прослушиватель событий для карты, который является idle
, который выполняет некоторые вычисления, чтобы определить, следует ли отбрасывать маркеры области, и загружать маркеры свойств на основе границ карты. Не нужно вдаваться в подробности, но всякий раз, когда вызывается эта idle
функция, я перебираю массив следующим образом:
function clearAreaOverlays() {
if (markersArrayAreas) {
for (i in markersArrayAreas) {
markersArrayAreas[i].setMap(null);
}
}
}
Возвращает markersArrayAreas[i].setMap()
не является функцией. Только со скриптом mootools, включенным в страницу, если я удаляю mootools, все работает. Есть идеи?