5

我只是使用openlayer制作地图

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

但让我感到困惑的是,我无法将 jQuery 与 OpenLayers 集成,我在其中创建了一个简单的 jQuery 函数show / hide ()

我试图单击我制作的 OpenLayers 地图中的一个标记,该标记在 OpenLayers#OL_Icon_43内部具有 iddiv#map并且我尝试在标记中hide()使用 jquery 执行该功能,该<head>标记将隐藏标记外部的标记#map,但这对我不起作用

你能帮我吗 ?

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

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

1 回答 1

6

#OL_Icon_43当您尝试绑定单击事件时,jQuery 可能无法找到该元素。相反,您最好委派一个点击事件。#map

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

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

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

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

于 2012-07-17T15:31:50.097 回答