Ciao a tutti. Ho creato una mappa con google maps con due array.
Ho creato una funzione per poter cancellare tutti i markers della mappa ma non funziona.
La console web di firefox mi dice che 'this.markers is undefined'.
Dove ho sbagliato?
Se invece di cancellare tutti i markers vorrei cancellare solo un array?
Il codice è questo.
codice:<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> <script type="text/javascript"> function initialize() { var latlng = new google.maps.LatLng(52.474, -1.868); var myOptions = { zoom: 6, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map"), myOptions); var image = 'icon1.png'; var image2 = 'icon2.png'; var hotels = [ ['ibis Birmingham Airport', 52.452656, -1.730548, 4], ['ETAP Birmingham Airport', 50.452527, -1.031644, 3], ['ibis Birmingham City Centre', 51.475162, -2.897208, 2] ]; var bars = [ ['ibis Birmingham Airport', 51.452656, -1.730548, 4], ['ETAP Birmingham Airport', 53.452527, -1.531644, 3], ['ibis Birmingham City Centre', 52.475162, -1.297208, 2] ]; var markersArray = []; for (var i = 0; i < hotels.length; i++) { var hotel = hotels [i] var marker = new google.maps.Marker({ position: new google.maps.LatLng (hotel[1], hotel[2]), map: map, icon: image, title: hotel[0], zIndex: hotel[3] }); } for (var i = 0; i < bars.length; i++) { var bar = bars [i] var marker = new google.maps.Marker({ position: new google.maps.LatLng (bar[1], bar[2]), map: map, icon: image2, title: bar[0], zIndex: bar[3] }); } google.maps.Map.prototype.clearMarkers = function() { for(var i=0; i < this.markers.length; i++){ this.markers[i].setMap(null); } this.markers = new Array(); }; markersArray.push(marker); google.maps.event.addListener(marker,"click",function(){}); } window.onload = initialize; </script> </head> <body> <input type="button" onclick="google.maps.Map.prototype.clearMarkers()" value="settare null"> <div id="map" style="width:500px; height:500px"></div> </body> </html>

Rispondi quotando


