Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    google map solo marker vicini alla posizione

    Ciao a tutti, con questo codice dato un array di marker metto quelli a cui sono vicino in un altro array (visibili) che svuoto e riempio appena mi muovo in modo di avere sulla mappa solo i marker vicini.

    Funziona in quanto ogni volta che mi muovo mi dice quanti ce ne sono nell'array visibili, ma non riesco però a cancellarli fisicamente dalla mappa...

    mi dareste una mano??

    codice:
    var markers = [                ['prova1', 43.84275, 10.5040667],
                    ['prova2', 43.8428333, 10.5040833],
                    ['prova3', 43.8429333, 10.5040833]
                ];
    
    
    //creo array dei marker visibili
    var visibili = [];
    
    
    
    
       var inizio = new google.maps.LatLng(43.8427752, 10.504052);
    
    
                function initialize() {
                    var panoramaOptions = {
                        position: inizio,
                        pov: {
                          heading: 165,
                          pitch: 0
                        },
                        zoom: 1
                    };
    
    
                    var myPano = new google.maps.StreetViewPanorama(document.getElementById('map-canvas'),panoramaOptions);
                    myPano.setVisible(true);
    
    
        
        var miaposizione = new google.maps.LatLng(43.8427752, 10.504052);
                    google.maps.event.addListener(myPano, 'position_changed', function() {
                         miaposizione = myPano.getPosition(); 
    
    
    
    
                
        //ogni volta che cambio posizione l'array marker visibili si svuota 
        eliminaMarkers();
    
    
                      
    var metri = 50;
    
    
                    for (var i = 0; i < markers.length; i++) {
                        var myMarker = markers[i];
                        coords2 = new google.maps.LatLng(myMarker[1], myMarker[2]);
                        var distance = google.maps.geometry.spherical.computeDistanceBetween(miaposizione,coords2);
    
    
    
    
        
                        if(distance <= metri) {
                            
                           
                
                            var posizione = new google.maps.LatLng(myMarker[1], myMarker[2]);
    
    
                            var marker = new google.maps.Marker({
                            position: posizione,
                            icon: 'Azure.png',
                            map: myPano,    
                            title: myMarker[0]
                            });
                            
                            //se sono vicini metto i marker nell'array visibili
                        visibili.push(myMarker);
                
                alert(visibili.length)
    
    
                        }else{
                       
                eliminaMarkers();
                
                 
                        }
                    }
    
    
    
    
    
    
                    });         
    
    
    
    
    }
    
    
    
    
    //svuota i marker visibili
    function eliminaMarkers() {
    
    
      visibili = [];
    }
    
    
    
    
    
    
                google.maps.event.addDomListener(window, 'load', initialize);

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, probabilmente li aggiungi alla mappa, crei il nuovo array ma poi dovresti eliminarli in altro modo.
    QUI c'è un esempio di romozione. Magari ti torna utile.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.