Что делает ошибку" Uncaught RangeError: максимальный размер стека вызовов превышен"? (Хром, в других браузерах другое сообщение)

не Culdn найти то, что делает ошибку, и как найти решение...

рабочий в проект:

http://atlas.sitegist.net/business/atlas/?l=en&h=6dff16b6f593384662cb24d66142047a

в проект я показываю разные данные с целочисленными значениями, и все, что также показано на карте. Когда я добавил еще одну визуализацию нового набора данных, возникает ошибка.

информация о тестировании:

в основном, я должен сделать некоторые события в UI, и конечно делать некоторые смешивание перечисленных в:

  • необходимо нажать кнопку" проекты", а затем установить/снять флажки в разделе панели инструментов моего проекта
  • необходимо нажать события на левой боковой панели (нет необходимости разворачивать свернуть, для данного набора данных выбор объектов производится путем выбора на родителей)

иногда происходит ошибка в 5 минут. Иногда в первом кадре, но остлы в 3-4 UI запросе.

ссылка выше воспроизводит ошибку от начала или 2-3 триггерами событий.

ошибки: Копировать Вставить из консоли

и такая ошибка у меня в Chrome console:

Uncaught RangeError: Maximum call stack size exceeded
H.get
(anonymous function)
Mu.(anonymous function).zoomRange_changed
yf
H.set
(anonymous function)
Mu.(anonymous function).zoomRange_changed
yf
H.set
(anonymous function)
Mu.(anonymous function).zoomRange_changed
yf
...
H.set
(anonymous function)
Mu.(anonymous function).zoomRange_changed
yf

и еще один:

<error>
(anonymous function)
$
nm
Du
H.bf
H.mapType_changed
yf
H.set
H.aa
Tg.(anonymous function).J
(anonymous function)
Q.trigger
H.aa
Tg.(anonymous function).J
(anonymous function)
Q.trigger
H.aa
Tg.(anonymous function).J
(anonymous function)
Q.trigger
H.aa
...
H.aa
Tg.(anonymous function).J
(anonymous function)
Q.trigger

решение под решение мне не помогло, Коуз отсутствия информации о I. набор, а также я не использую "Gmaps4rails":

превышен максимальный размер стека вызовов Gmaps4rails?

4 ответов


решена!!!

я нашел проблему в моем границы переменной.

когда я получаю JSON от сервера, при его разборе код делает привязку из каждого местоположения на карте.

// renew map bounds each time when new query comes
bounds = new google.maps.LatLngBounds ();
...
for (var key in data.locations ) {
    ...
    // For fitting in Bounds, we push the positions of each location
    atlas.Map.vars.bounds.extend ( new google.maps.LatLng(
        data.locations [key].lat,
        data.locations [key].lng
    ) );    
    ...
}
...
GoogleMap.fitBounds (bounds);

и каким-то образом для нового типа данных он делает стек браузера переполненным.

(что очень странно, потому что он работает нормально для еще более больших результатов! (600

сделал грубый код для быстрого результат:

bounds = new google.maps.LatLngBounds ();
if( KMLLayer.poly.docs[0].bounds != undefined ) {
    bounds.extend( KMLLayer.poly.docs[0].bounds.getNorthEast() );
    bounds.extend( KMLLayer.poly.docs[0].bounds.getSouthWest() );
}
if( KMLLayer.marks.docs[0].bounds != undefined ) {
    bounds.extend( KMLLayer.marks.docs[0].bounds.getNorthEast() );
    bounds.extend( KMLLayer.marks.docs[0].bounds.getSouthWest() );
}
GoogleMap.fitBounds (bounds);

у меня есть два слоя KML, поэтому я извлек границы, если они возникают, из слоев GeoXML3.

Блин, я трачу на это 6 часов и 38 минут!!!

может быть, я ошибся с этой строкой, что плохо очищает глобальную переменную:

bounds = new google.maps.LatLngBounds ();

исходное имя переменных немного длиннее :) границы === атлас.Карта.Вар.границы;


Я получил ту же ошибку. Однако в моем случае проблема была связана с lat и длинными данными. Это была одна точка, которая привела к этой проблеме.

связанный: https://groups.google.com/forum/?fromgroups=#!topic/google-maps-js-api-v3/1SCjxGntruU


эта ошибка обычно возникает (в Google Chrome), когда вы забыли установить все минимум параметры для вашей карты. Вот они:

var map = new google.maps.Map(
    document.getElementById( 'some-id' ),
    {
        center :    new google.maps.LatLng( 43, 16 ),
        zoom :      10,
        mapTypeId : google.maps.MapTypeId.ROADMAP
    }
);

содержит ли ваш полигональный путь пустой LatLng?

Я получил ту же ошибку, когда это произошло - Глупая ошибка, но может помочь кому-то в подобной ситуации.