Question

J'utilise google réelle cartes api v3. Dans ma carte, j'ai quelques marqueurs. Pour afficher mes markes, je me sers du MarkerManager.js.

Chaque marqueur possède un attribut "type" (un nombre compris entre 1 et 5).

Sur mon site j'ai quelques radiobuttons.

 <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

En sélectionnant la valeur = 0, je veux montrer tous les marqueurs. Sélection de la valeur = 1, je veux montrer que les marqueurs dont le type beeing 1 et ainsi de suite.

Lors de la création de mon tableau markermanager je suit:

$(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;
        }

Que dois-je faire dans ma fonction show_marker (val)?

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

function show_marker(val){

}
Était-ce utile?

La solution

Je résolu le problème en utilisant les gestionnaires de marqueurs multiples. Tous les marqueurs de type = 1 aller à manager1, tous les marqueurs de type = 2 aller à Manager2 et ainsi de suite.

Maintenant, je peux montrer tous markermanages et afficher / cacher les onclick (managerX.hide ())

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top