幾件事情要注意這裏,只需使用.focus()
或觸發#map
div元素上的點擊操作將不會執行任務,因爲這些操作發生在地圖實際呈現在DOM上之前。因此,首先要承認的是使用google地圖庫提供的tilesloaded
事件。
google.maps.event.addListener(map, 'tilesloaded', function() {
//do actions
});
我纔來的第二件事是,你不能只是增加$('#map').click()
事件監聽器裏。這是因爲雖然#map
是容器div,但Google Maps腳本實際上呈現了一大堆其他div(它們具有較高的z-index,也是實際上包含地圖切片的地方)。隨着黑客周圍一點點,和jQuery可以縮小到包含瓷磚div和上該div ...生成的代碼觸發點擊事件是:
google.maps.event.addListener(map, 'tilesloaded', function() {
$("#map").children().children().first().children().trigger('click');
});
我使用Chrome的開發工具,以縮小下降到包含瓷磚的div,並使用jquery的children()
方法遍歷從#map
開始的那個div。如果您將該代碼粘貼到您的init函數中,則應該很好。這裏有一個JSfiddle,並提供解決方案的實例。
你的意思是用鍵盤上的箭頭鍵控制地圖的平移嗎? – 2012-06-07 15:04:21
這個問題的答案可能有所幫助:http://stackoverflow.com/questions/9195814/google-maps-v3-keyboard-accessibility/9218055#9218055 – Marcelo 2012-06-23 09:19:49