如何单击OpenLayers上的标记

Jho*_*Jr. 4 javascript jquery openlayers

我只是使用openlayer制作地图

我用自己的自制在OpenLayers制作了一张地图

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

我试着点击中的OpenLayers地图标记,我发了,其中有ID的一个#OL_Icon_43内部div#map的OpenLayers,我试图做功能hide()在使用jQuery <head>,将隐藏标签之外的标签标签#map,但是,这并不为我工作

你能帮我吗 ?

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

$(document).ready(function(){
   $("#OL_Icon_43").click(function() {
     $("footer").hide();
   });
});
Run Code Online (Sandbox Code Playgroud)

Bay*_*ae' 6

#OL_Icon_43当您尝试绑定click事件时,jQuery可能无法找到该元素.您将关闭更好委托click事件#map,而不是.

$('#map').delegate('#OL_Icon_43', 'click', function() {
  $('#footer').hide();
});
Run Code Online (Sandbox Code Playgroud)

编辑:看起来OpenLayers允许您将事件直接绑定到标记.

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

你只需要确保在OpenLayers之前加载了jQuery,这样你就可以隐藏页脚.我建议在结束</body>标记之前将javascript标记移动到页面底部.

  • 您必须确保您的标记图层是接收Click事件的最顶层.请参阅http://stackoverflow.com/questions/7927162/openlayers-zindex-for-markers-and-vectors (3认同)