2009-07-17 76 views
2

我幾乎一直得到JavaScript異常,看起來像下面GMaps API:是什麼導致Google Maps JavaScript異常?

  • Ve.k爲空或不是一個對象(FF & IE)
  • BK爲空或不是一個對象(FF & IE )
  • 一個爲空(FF)
  • 一個$ e爲未定義(FF)
  • 遺漏的類型錯誤:無法讀取未定義(鉻的特性 'K')

一些表達的在JavaScript中GMaps API的腸子一個eval過程中經常發生異常

幾乎任何可引起這些中的一個彈出,顯示在地圖上或例如鼠標點擊事件上的覆蓋。

我一直在搜尋我的代碼一段時間尋找違規覆蓋和事件處理程序,但到目前爲止沒有發現任何關係。我在裸體地圖上發生過這種情況,沒有疊加層或處理程序活動。

某些版本的API不會在某些瀏覽器上崩潰,但它的命中率和錯過,我仍然有這樣的沉思:環境中的某些東西給GMaps帶來了困難(例如,可能是Facebook Connect,Google Analytics,my代碼...)

有沒有人有處理這些原因?

+0

我認爲這裏的共識是地圖API濫用我的程序。我已經取消了Facebook連接和分析庫。這留下了這麼一個有趣的工作,來搞清楚在我的應用程序中,由GWT/Mapitz翻譯的內容導致地圖燒心 – jottos 2009-07-17 19:08:24

回答

1

我不得不猜測它會是你的代碼(而不是你的壞程序員)或其他庫干擾。 I've been using the Google MAPS API happily for about 1 year now *從未有過第一個例外。我唯一一次收到錯誤信息的時候是我添加氣球的時候。

*該網站看起來像廢話,但它是我縣集市的高中項目,我不能使用任何服務器端的東西。

編輯:看完你的評論後,我想知道你是否包含一個正確的DOCTYPE?檢查並看看你是否擁有它。

+0

好吧,這是一個比我主導的更復雜的故事。我有幾個頁面,我爲地圖api手工編寫了JavaScript,並且我從未收到過異常,我做的頁面上有異常,JavaScript是由GWT使用名爲Mapitz的映射庫創建的,我一直在過去的一年左右移植。這不是一個簡單的GWT問題,因爲我已經編譯了'pretty',它不會縮小GWT生成的代碼的大小,所以在那裏沒有可能的碰撞......這個問題很難調試,因爲它不會在IE6中崩潰由GWT調試使用的託管瀏覽器。 – jottos 2009-07-17 18:44:52

+0

解決了,請參閱下面的回答 – jottos 2009-07-18 02:40:34

1

只是使用縮小的,模糊的JavaScript庫的危險,我害怕。沒有離散的錯誤組導致您看到的異常,但您可以確定它們是您自己代碼中的錯誤的結果。我使用谷歌地圖pretty extensively,並經常看到這些類型的錯誤。在100%的情況下,這個bug是我的。

如果您發佈(在此處或在新問題中)生成這些錯誤的頁面的具體示例,我們可以檢查並希望修復它們。

+0

我也確信它是與我的應用程序的交互,但根據我上面的評論,我的手寫javascript頁面從不崩潰,但構建在GWT/Mapitz上的應用程序確實如此。這使得我很難發佈一個有用的例子,因爲即使是一個「漂亮」編譯的GWT程序也是非常不透明的。 BWT - 喜歡你的網站上的貼圖資料,很好的使用Simile,我沒有意識到它可以使用 – jottos 2009-07-17 18:53:30

3

在花了相當多的時間回滾影響地圖1的操作之後,我終於找到導致此問題的行。

首先,如果我刪除了對setUIToDefault()的調用,問題消失了,這對我來說是不可接受的,因爲我想要默認的UI,這是一種蹩腳的方式來解決問題。那麼多的地圖操作後,我來到了GWT電話:

mapWidget.setHeight() 
mapWidget.setWidth(). 

對於那些不熟悉GWT這兩個調用將最終轉化爲下面的JavaScript調用模板:

element.style['height'] = height; 

其中「元素」在這種情況下,包含地圖的高度和RHS上表達式的高度就像「690px」。

這就是讓地圖API脫軌的一切。

修復?在實例化地圖之前設置地圖div的大小。

你告訴我,地圖api中的bug還是隻是一個主要功能缺失?我要去檢查一下地圖的人。

相關問題