I am using a google map in a PHP/MYSQL application. I get the code for the map form Goolge Docs and adapted a bit for the application. New modifications are comming in the application and now the application need to know the 'current zoom level of the google map'. I check in internet but I didn't find a clear answer. Is it possible to do it ? Is it mandatory to reload the page in every zoom change ? This is the code and thanks.
<code> function load() { var map = new google.maps.Map(document.getElementById("map"), { center: new google.maps.LatLng(latitude,longitude), zoom: zoommapa, zoomControl: true, zoomControlOptions: { style: google.maps.ZoomControlStyle.LARGE }, mapTypeId: 'roadmap' }); // drap center var image = 'images/icons/etapa/etapa.png'; var myLatLng = new google.maps.LatLng(latitude,longitude); var beachMarker = new google.maps.Marker({ position: myLatLng, map: map, icon: image }); var infoWindow = new google.maps.InfoWindow; // Change this depending on the name of your PHP file downloadUrl("marquers_motor_3.php", function(data) { var xml = data.responseXML; var markers = xml.documentElement.getElementsByTagName("marker"); //var name = 1; var markers2 = []; for (var i = 0; i < markers.length; i++) { //var name = markers[i].getAttribute("name"); var image = markers[i].getAttribute("image"); var sombra = markers[i].getAttribute("sombra"); var address = markers[i].getAttribute("address"); var type = markers[i].getAttribute("type"); var orden = markers[i].getAttribute("order"); var name = markers[i].getAttribute("name"); // web_site email ciudad pais var web_site = markers[i].getAttribute("web_site"); var email = markers[i].getAttribute("email"); var ciudad = markers[i].getAttribute("ciudad"); var pais = markers[i].getAttribute("pais"); var point = new google.maps.LatLng( parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); if (ciudad =="" || ciudad =='Desconocido') { ciudad = ""} else {ciudad =ciudad + " " } if (!(web_site =="")) {web_site = "<a href='" + web_site + "' class='list' target='_blank'>" + web_site +"</a>"+"<br>"} else {web_site =""} var html = "<div id='infoWindow'>" + orden + " - " + name + "<br>" + web_site + ciudad + " " + pais + "</div>"; //var name = name + 1; var icon = customIcons[type] || {}; var marker = new google.maps.Marker({ map: map, position: point, icon: image, shadow: sombra }); var marker2 = new google.maps.Marker({ position: point }); markers2.push(marker); bindInfoWindow(marker, map, infoWindow, html); } }); var mcOptions = {gridSize: 50, maxZoom: 15}; var MarkerClusterer = new MarkerClusterer(map, markers2,mcOptions); } function bindInfoWindow(marker, map, infoWindow, html) { google.maps.event.addListener(marker, 'click', function() { infoWindow.setContent(html); infoWindow.open(map, marker); }); } function downloadUrl(url, callback) { var request = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest; request.onreadystatechange = function() { if (request.readyState == 4) { request.onreadystatechange = doNothing; callback(request, request.status); } }; request.open('GET', url, true); request.send(null); } function doNothing() {} //]]> //google.maps.event.addDomListener(window, 'load', initialize);
map.getZoom();. For more details, you check the SO URL: linkmap.getZoom();to get current zoom level. Please check link attached in my first comment.