簡體   English   中英

如何完全刪除移動 web 上的谷歌地圖標記可點擊區域?

[英]How to completely remove google maps marker clickable area on mobile web?

基本上我有一個 map 用戶可以點擊放置標記。 但是當 map 上已經有一個標記時,我嘗試在附近放置一個,標記攔截了點擊事件,因此 map 無法接收它並放置另一個標記。 我已將clickable設置為 false,並且我沒有為標記創建任何偵聽器。

這只是移動設備上的一個問題 - 我通過將標記的形狀設置為 0 x 0 px 矩形在桌面上修復了它:

shape: {
  type: 'rect',
  coords: [0,0,0,0]
}

此“形狀”屬性僅適用於桌面 - 當我使用 chrome 開發人員工具設備模擬器加載頁面時,設置可點擊區域的 HTML area元素不存在。 相反,標記上只有一個div元素和一個img元素。 如果我將這些元素的高度和寬度設置為 0(使用檢查元素),則 map 能夠接收標記上的點擊事件。 但我不知道如何使用 CSS 或 Javascript 來做到這一點,因為我看不到訪問這些元素的方法。

問題似乎是,當谷歌地圖檢測到移動設備時,它會通過標記img元素監聽點擊事件。 在桌面上,它會創建一個area元素來進行點擊。 那么有什么方法可以編輯地圖 API 創建的元素的高度和寬度? 或者有沒有其他方法可以在移動設備上設置標記的可點擊區域?

最小可重現示例

要模擬我的問題,請按 ctrl+shift+I,然后按 ctrl+shift+M,然后顯示“響應式”select 任何移動設備(iPad 是最好的,因為它更易於導航)。 重新加載頁面。 點擊 map 放置一個標記,然后點擊該標記。 然后,您可以關閉開發工具,重新加載頁面,並嘗試再次放置兩個標記以查看應該發生的情況。

如果我刪除這一行:

title: 'markertitle',

一切正常。 出於某種原因,向標記添加標題會在其頂部創建一個攔截點擊的元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM