2012-07-17 71 views
4

的標記我只是讓使用openlayer如何點擊的OpenLayers

地圖我的OpenLayers做了一個地圖與我們自己的國產

但令我困惑的是,我無法用的OpenLayers整合jQuery的,在這裏我創建一個函數是簡單的jQuery show/hide()

我試着點擊中的OpenLayers地圖上的標記,我發了,其中有內部div#map的OpenLayers ID #OL_Icon_43之一,我試圖在使用jQuery做功能hide()<head>標記這會將標籤隱藏在標籤#map之外,但這對我不起作用

您能幫助我嗎?

這是我做的jQuery代碼視圖:

$(document).ready(function(){ 
    $("#OL_Icon_43").click(function() { 
    $("footer").hide(); 
    }); 
}); 

回答

6

有一個機會,當你試圖將click事件綁定的jQuery找不到元素#OL_Icon_43。相反,您將在#map上更好地使用delegating a click event

$('#map').delegate('#OL_Icon_43', 'click', function() { 
    $('#footer').hide(); 
}); 

編輯:它看起來像的OpenLayers,您可以直接事件綁定到你的markers

var marker = new OpenLayers.Marker(lonlat); 
marker.id = "1"; 
marker.events.register("click", marker, function() { 
    $('footer').hide(); 
}); 

你只需要確保jQuery已經加載OpenLayers之前,所以你可以隱藏頁腳。我會建議在關閉</body>標記之前將您的JavaScript標記移動到頁面的底部。

+0

非常感謝你的回答:) 但是,該代碼仍然不適用於我:( 你可以有任何想法? – 2012-07-17 15:53:50

+0

@ user1532193看看我的編輯。如果這不能回答你的問題可以你爲我創建一個孤立的例子嗎? – 2012-07-17 16:04:39

+0

是的,你是如此之大,這個例子代碼是100%爲我工作,現在我可以使用函數顯示和隱藏。 openlayers,我想我會再次問你一個問題:D 非常感謝你:) :) – 2012-07-17 16:17:31