2016-01-31 66 views
4

在Google地圖中拖動多邊形時,隨機出現錯誤Uncaught TypeError: Cannot read property '__e3_' of null。我的意思是,大多數時候拖動多邊形的方式都按預期工作,但很少有幾次失敗。未捕獲的類型錯誤:無法讀取屬性'__e3_'爲空

在谷歌瀏覽器的控制檯,所示的誤差是:

1)錯誤報頭:

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 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

相關問題