Domanda

Sto usando il google maps api reale v3. Nella mia mappa, ho alcuni marcatori. Per la visualizzazione miei Markes, sto usando le MarkerManager.js.

Ogni indicatore ha un attributo "tipo" (un numero compreso tra 1 e 5).

Sul mio sito ho alcuni 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

Quando si seleziona il valore = 0, voglio mostrare tutti i marcatori. Selezione value = 1, voglio mostrare solo i marcatori il cui tipo beeing 1 e così via.

Quando si crea il mio allineamento markermanager Io seguente:

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

Che cosa devo fare nella mia show_marker funzione (val)?

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

function show_marker(val){

}
È stato utile?

Soluzione

I risolto il problema utilizzando più gestori marcatori. Tutti i marcatori con type = 1 andare a Manager1, tutti i marcatori con type = 2 Vai a manager2 e così via.

Ora posso mostrare tutte markermanages e mostra / nasconderli onclick (managerX.hide ())

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top