我在一個函數中創建了一個標記,但需要根據頁面上其他位置的事件顯示/隱藏它,並且不會連接到地圖。我曾嘗試使用「marker1.setVisible(true);」在事件中,但我得到錯誤「marker1未定義」。是否有另一種方法可以參考它,或者我可以以某種方式使標記全局可用?根據外部事件顯示/隱藏標記
任何幫助將不勝感激。 Andrew。
我在一個函數中創建了一個標記,但需要根據頁面上其他位置的事件顯示/隱藏它,並且不會連接到地圖。我曾嘗試使用「marker1.setVisible(true);」在事件中,但我得到錯誤「marker1未定義」。是否有另一種方法可以參考它,或者我可以以某種方式使標記全局可用?根據外部事件顯示/隱藏標記
任何幫助將不勝感激。 Andrew。
將marker1聲明爲全局變量。 「 」在函數外部聲明的變量變爲GLOBAL。 全局變量具有全局範圍:網頁上的所有腳本和函數都可以訪問它。
類似:
var marker1;
function setMarker(){
//....
marker1 = new google.maps.Marker({map: map,.....})
//....
}
將讓你使用 「marker1.setVisible(真);」腳本中的其他位置。
感謝您的回覆。我已經在任何函數外面聲明瞭marker1,但是當我在函數中使用「marker1.setVisible(true)」時,我得到錯誤「Uncaught TypeError:無法讀取未定義的屬性'setVisible'」。 – user2679016
檢查你是否有其他地方的功能已經使用「var marker1 = ....」而不是「marker1 = ....」 – ReFran
謝謝,這是令人尷尬的簡單。 – user2679016
「我在函數中創建了一個標記」...「marker1未定義」 - 提供代碼創建標記的位置。如果代碼的代碼部分認爲它是未定義的,我們應該從那裏開始,但是我們需要查看完整的代碼來確定它。 – samiles