2012-07-18 150 views
0

我有一個Google地圖正在被多個標記填充。我從http://chart.apis.google.com/chart?chst=d_map_xpin_icon&chld=pin|glyphish_star|FFFF00|0000FF獲取標記。我的一些客戶瀏覽器安全防止這些圖像被下載,我想檢測這些圖像並將其恢復爲默認圖像。檢測google.maps.MarkerImage對象是否爲空

var gmMarkerImage = new google.maps.MarkerImage(
    "http://chart.apis.google.com/chart?chst= 
    d_map_xpin_icon&chld=pin| 
    glyphish_star| 
    FFFF00| 
    0000FF" 
) 

如何檢測gmMarkerImage對象是不是圖像或空?或者,如何確定我沒有收到來自chart.apis.google.com網站的任何內容?

+0

嘗試'console.log(gmMarkerImage);'看看你從谷歌得到什麼,可能是一個對象和它的一些屬性。 – 2012-07-18 16:54:26

+0

由於證書問題,我必須使用IE瀏覽頁面。我無法安裝第三方應用程序。所以,當涉及到使用螢火蟲進行調試時,我的雙手會被束縛住。它很糟糕,但這是我的環境。 – 2012-07-18 17:06:37

回答

0

我認爲Google Maps API不會讓您訪問底層DOM對象。您收到的MarkerImage對象僅包含關於標記的信息,將其呈現爲HTML或DOM對象將讀取該信息。

但是,如果我們回過頭來看,用戶無法使用此自定義URL作爲其圖像的原因可能是他們不信任非SSL引用(true?)。或者他們一般不信任chart.google.com域名(這會被延遲,但仍然)。您可以通過在未連接到地圖的頁面中包含不可見圖像並在此圖像上處理onError事件來測試此項。圖片上的onError通常表示資源無法加載,通常是因爲404,403等等。當此圖像收到錯誤時,您可以遍歷所有標記並將其URL設置爲後備。

+0

這似乎是我需要的。我將嘗試onError事件處理程序。謝謝。 – 2012-07-18 22:07:02