5

openlayerを使って地図を作るだけです

私は自分たちの自家製でOpenLayersで地図を作りました

しかし、私を混乱させているのは、jQueryをOpenLayersと統合できないことです。ここでは、単純なjQueryである関数を作成します。show / hide ()

作成したOpenLayersマップのマーカーの1つをクリックしようとしました。これは、 OpenLayers#OL_Icon_43内にIDがあり、タグ内でjqueryを使用して、タグ外のタグを非表示にdiv#mapする関数を実行しようとしましたが、機能しません。hide()<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();
});

フッターを非表示にできるように、OpenLayers の前に jQuery がロードされていることを確認する必要があります。JavaScript タグをページ下部の終了</body>タグの前に移動することをお勧めします。

于 2012-07-17T15:31:50.097 に答える