People, please help ... For a very long time I have been trying to implement an auto-update of the content of the info-window, but nothing works out. Here is the code for creating the map:

<div id="map" style=" position: absolute; margin: auto height: 80%; width: 100%"> <script> function pinSymbol(color) { return { path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z M -2,-30 a 2,2 0 1,1 4,0 2,2 0 1,1 -4,0', fillColor: color, fillOpacity: 1, strokeColor: '#000', strokeWeight: 2, scale: 1, }; } function initMap() { var map = new google.maps.Map(document.getElementById('map'), { center: new google.maps.LatLng(55.8685204,37.6388706), zoom: 14, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.RIGHT_CENTER }, mapTypeControl: false, streetViewControl: false, styles: [ { featureType: 'poi', stylers: [{visibility: 'off'}] }, { featureType: 'transit', elementType: 'labels.icon', stylers: [{visibility: 'off'}] } ] }); var markers_parking = []; var infoWindow_parking = new google.maps.InfoWindow(); downloadUrl('file.php', function(data) { var xml = data.responseXML; var markers1 = xml.documentElement.getElementsByTagName('marker'); Array.prototype.forEach.call(markers1, function(markerElem) { var timeStamp1 = markerElem.getAttribute('timeStamp'); var idPark = markerElem.getAttribute('idPark'); var quantity1 = markerElem.getAttribute('quantity'); var total1 = markerElem.getAttribute('total'); if (idPark = '0101') { var point1 = {lat: 55.871216 ,lng: 37.646862}; }; var free = total1 - quantity1; var infowincontent_parking = document.createElement('div'); var strong1 = document.createElement('strong'); strong1.textContent = 'Парковка №' + idPark; infowincontent_parking.appendChild(strong1); infowincontent_parking.appendChild(document.createElement('br')); var text1 = document.createElement('text'); text1.textContent = 'Количество свободных парковочных мест: ' + free + '/' + total1; infowincontent_parking.appendChild(text1); infowincontent_parking.appendChild(document.createElement('br')); var data1 = document.createElement('text'); data1.textContent = 'Информация за: ' + timeStamp1; infowincontent_parking.appendChild(data1); //var icon = customIcons[ntWorking] || {}; if (free/total1<=0.5) { var color1 = '#f00'; }; if(free/total1>=0.8) { color1 = '#0f0'; }; if (free/total1>0.5 && free/total1<0.8) { color1 = '#ff0'; }; var marker_parking = new google.maps.Marker({ map: map, position: point1, icon: pinSymbol(color1), category: 'parking' }); marker_parking.addListener('click', function() { infoWindow_parking.setContent(infowincontent_parking); infoWindow_parking.open(map, marker_parking); }); map.markers_parking.push(marker_parking); }); var options = { imagePath: 'http://www.enprotect.ru/smct/for_clusters/pics/m' }; var markerCluster1 = new MarkerClusterer(map, markers_parking, options); }); } function downloadUrl(url, callback) { var request = window.ActiveXObject ? new ActiveXObject('getinfo.php') : new XMLHttpRequest; request.onreadystatechange = function() { if (request.readyState == 4) { request.onreadystatechange = doNothing; callback(request, request.status); } }; request.open('GET', url, true); request.send(null); } </script> 

And php (file.php):

  <?php require("about_db.php"); // Start XML file, create parent node $dom = new DOMDocument("1.0"); $node = $dom->createElement("markers"); $parnode = $dom->appendChild($node); // Opens a connection to a MySQL server $connection=mysql_connect ($server, $username, $password); if (!$connection) { die('Not connected : ' . mysql_error());} // Set the active MySQL database $db_selected = mysql_select_db($database, $connection); if (!$db_selected) { die ('Can\'t use db : ' . mysql_error()); } // Select all the rows in the markers table $query = "SELECT * FROM arduino_parking ORDER BY `timeStamp` DESC LIMIT 1"; //WHERE 1 $result = mysql_query($query); if (!$result) { die('Invalid query: ' . mysql_error()); } header("Content-type: text/xml"); // Iterate through the rows, adding XML nodes for each while ($row = @mysql_fetch_assoc($result)){ // Add to XML document node $node = $dom->createElement("marker"); $newnode = $parnode->appendChild($node); $newnode->setAttribute("timeStamp",$row['timeStamp']); $newnode->setAttribute("idPark",$row['idPark']); $newnode->setAttribute("quantity", $row['quantity']); $newnode->setAttribute("total", $row['total']); } echo $dom->saveXML(); ?> 

Help pzh, and I want to shoot myself from so many js in my life ..

    0