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);

Rispondi quotando