0

実際の G​​oogle マップ API v3 を使用しています。私のマップには、いくつかのマーカーがあります。マークを表示するために、MarkerManager.js を使用しています。

各マーカーには「タイプ」属性 (1 から 5 までの数字) があります。

私のサイトには、いくつかのラジオボタンがあります。

 <input type="radio" name="display_marker" value="0" checked> All
 <input type="radio" name="display_marker" value="1" checked> 1
 <input type="radio" name="display_marker" value="2" checked> 2
 <input type="radio" name="display_marker" value="3" checked> 3
 <input type="radio" name="display_marker" value="4" checked> 4
 <input type="radio" name="display_marker" value="5" checked> 5

value=0 を選択すると、すべてのマーカーが表示されます。値 = 1 を選択して、タイプが 1 などのマーカーのみを表示したい。

私のmarkermanager配列を作成するとき、私は次のことを行います:

$(document).ready(function(){

    var latlng = new google.maps.LatLng(48.135789, 11.579075);
    var mapOptions = {
        zoom: 11,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map(document.getElementById('map'), mapOptions);

    var listener = google.maps.event.addListener(map, 'bounds_changed', function(){
        setupMarkers();
        google.maps.event.removeListener(listener);
    });

});



        function setupMarkers(){
            mgr = new MarkerManager(map);

            var mc = myobject.length;
            google.maps.event.addListener(mgr, 'loaded', function(){
                mgr.addMarkers(createMarkers(mc), 11);
                mgr.refresh();
            });
        }


        function createMarkers(nn){
            var batch = [];

            for(var ii = 0; ii < nn; ii++){

                var marker = new google.maps.Marker({
                    position: getLatLng(ii),
                    title: "marker " + ii,
                    type: getType(ii),
                });

                google.maps.event.addListener(marker, 'click', function(){
                    alert("title:" + this.title + "\ntype: " + this.type);
                });

                batch.push(marker);
            }
            return batch;
        }

show_marker(val) 関数で何をする必要がありますか?

$("#myid input").click(function(){
  show_marker($(this).attr('value'));
});

function show_marker(val){

}
4

1 に答える 1

1

複数のマーカーマネージャーを使用して問題を修正しました。type=1 のすべてのマーカーは manager1 に移動し、type=2 のすべてのマーカーは manager2 に移動します。

これで、すべてのマーカー管理を表示し、クリックして表示/非表示にすることができます (managerX.hide() )

于 2010-12-15T10:30:26.953 に答える