2012-07-17 42 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