如何单击OpenLayers上的标记

时间:2012-07-17 15:21:20

标签: javascript jquery openlayers

我只是使用openlayer制作地图

我使用自己的自制

在OpenLayers中制作了地图

但令我困惑的是,我无法将jQuery与OpenLayers集成,在那里我创建了一个简单的jQuery函数show / hide ()

我尝试点击OpenLayers地图中的一个标记,我已经在#OL_Icon_43 OpenLayers中找到了div#map,我尝试使用jquery执行函数hide() <head>标记会将标记隐藏在标记#map之外,但这对我不起作用

你能帮我吗?

这是我制作jquery代码的视图:

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

1 个答案:

答案 0 :(得分: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();
});

您只需要确保在OpenLayers之前加载了jQuery,这样您就可以隐藏页脚。我建议您在结束</body>代码之前将javascript代码移至页面底部。