1
我一直在搜索,我找不到任何地方的這個問題的解決方案。無論如何檢測地圖何時全屏顯示或全屏退出? (非常像DOM事件onfullscreenchange)谷歌地圖 - 全屏變化事件?
我有一個地圖選項「fullscreenControl」設置爲true,我想要做的就是當地圖變爲全屏時在地圖上標記地圖,以及顯示infowindow只有在地圖處於全屏狀態時纔會顯示。我如何檢查全屏變更?
我用了整個地圖上的DOM事件嘗試,但似乎並沒有工作,是這樣的:
google.maps.event.addDomListener(document.getElementById("map-canvas"), "fullscreen", function() {
console.log("FULLSCREEN CHANGED");
});
我還以爲我可以做一個自定義控制,代替作爲fullscreenControl的X按鈕,可在地圖變爲全屏時切換,然後我可以偵聽該自定義控件上的單擊事件,但是沒有更好的方法嗎?是否真的沒有onfullscreenchange事件或類似的事情?
感謝您的幫助!
嗡嗡聲我不需要在地圖上觸發調整大小,因爲地圖是一個全局可訪問的變量,但我明白你爲什麼建議觸發調整大小(這樣我可以捕捉它並做我想做的事)。關於檢測全屏,我如何進行寬度/高度檢查?在地圖畫布上做「更改」偵聽器嗎? –
是的,你會然後將它與高度和寬度進行比較,看它是否是全尺寸。 – telhar
好吧,我進一步測試了一下,顯然沒有簡單的方法來檢查地圖上的更改,因爲它不像普通的DOM元素那樣工作。所以我最終做的是在地圖上添加一個偵聽器,以便中心更改時間,然後使用JQuery比較Google地圖爲地圖添加的div(它始終有一個名爲「gm-style」的類)高度和寬度與窗口的innerHeight和innerWidth,然後才調整邊界。這與一個標記變量結合使用,我只能調用fitBounds一次。這有意義嗎?你想用這個更新你的答案嗎? –