2016-01-31 2 views
4

Я получаю ошибку Uncaught TypeError: Cannot read property '__e3_' of null случайным образом при перетаскивании многоугольника внутри карты google. Я имею в виду, что большую часть времени, когда я перетаскиваю многоугольник, работает, как ожидалось, но редко несколько раз терпит неудачу.Uncaught TypeError: Не удается прочитать свойство '__e3_' of null

В консоли Google Chrome, приведенная ошибка:

1) заголовок Error:

Uncaught TypeError: Cannot read property '__e3_' of null js?libraries=drawing,geometry:87 

2) тело Ошибка:

_.I.hasListeners @ js?libraries=drawing,geometry:87 
_.I.trigger @ js?libraries=drawing,geometry:88 
W1 @ poly.js:20 
_.t.mm @ poly.js:82 
_.I.trigger @ js?libraries=drawing,geometry:88 
(anonymous function) @ js?libraries=drawing,geometry:34 
_.I.trigger @ js?libraries=drawing,geometry:88 
(anonymous function) @ common.js:79 
_.I.trigger @ js?libraries=drawing,geometry:88 
Mm @ common.js:69 
(anonymous function) @ common.js:225 
(anonymous function) @ common.js:225 

Отредактировано: Вместо того, чтобы наклеивать куски кода, я предоставляю скрипку в качестве примера с кодом работы: https://jsfiddle.net/w6Lnk47u/16/

ошибка, кажется, в этой строке:

var isMarkerContained = google.maps.geometry.poly.containsLocation(CREAR_CAMP.markerWithLabelCasaClub.getPosition(), CREAR_CAMP.polygonArea); 

Чтобы воспроизвести ошибку, кто-то должен:

1) Нажмите на левый включен один первый и нарисовать многоугольник на карте.

2) Нажмите на кнопку включения справа (когда нарисован полигон), и появится маркер внутри многоугольника. Теперь, когда может произойти ошибка. Кто-то просто должен попытаться переместить и изменить размер полигона (пытаясь оставить маркер из области многоугольника), и появится ошибка на консоли Google Chrome. Как я уже сказал, это случается случайным образом и несколько раз.

+0

Просьба представить [Минимальный, завершенный, проверенный и читаемый пример] (http://stackoverflow.com/help/mcve), который демонстрирует проблему. – geocodezip

+0

Что на 'common.js: 225' и': 79' и где вы его назвали? – Kenney

+0

@ Kenney, в моем JavaScript, по крайней мере, я знаю, что я не вызываю явно какую-либо анонимную функцию во внешний файл common.js. – dsm

ответ

3

Это похоже на ошибку в Google.

Здесь находится скрипка с минимальным кодом, который Google suggests для чертежа: https://jsfiddle.net/TomKarachristos/hc7nwwdx/. Я меняю только варианты.

Если вы играете достаточно, вы увидите, что эта же ошибка срабатывает, поэтому это не проблема в вашем коде.

, если вы хотите не появится сообщение об ошибке вы должны использовать window.onerror:

window.onerror = function(msg, url, lineNo, columnNo, error) { 
    #maybe some condition code 
    return true; //suppress error 
} 

, но я не рекомендую.

+0

Просто попробуйте, значок значка пляжа в вашей скрипке не очень хорошо связан, вы можете изменить его на https://google-developers.appspot.com/maps/documentation/javascript/examples/full/images/beachflag.png. Я все еще не могу воспроизвести ошибку. У вас есть прецедент, в котором он появляется? Я попытался нарисовать множество фигур, а также изменить его перетаскиваемые вершины. В моей скрипке мне было интересно, был ли факт использования в цикле 'google.maps.geometry.poly.containsLocation (randomLatLng, CREAR_CAMP.polygonArea);' может спровоцировать отсутствие доступа к геометрии библиотека мгновенная. – dsm

+0

Пойдите, сделайте несколько полигонов, и играйте с вершинами, попробуйте сделать некоторые странные формы. Я вижу ошибку только с одним полигоном. –

+0

Ошибка, пойманная, я просто недостаточно пробовал с изменением размера полигона и добавлением или удалением вершин. Спасибо, хотя мой код имеет ошибку, и я не мог понять, как его решить. По мере того как вы обеспечиваете, я использую 'window.error' для того чтобы предотвратить его. – dsm

Смежные вопросы