Народ, помогите пожалуйста... Уже очень долго пытаюсь реализовать автообновление контента инфоокна, но никак ничего не выходит Вот код создания карты:
<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>
И 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();
?>
Помогите пж, а то уже застрелиться хочется от такого количества js в моей жизни..
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
смотрю видеокурс "уроки программирования" от loftblog, тема - циклыСтолкнулся с проблемой - полностью переписываю сам код, как на видео
Не работает смена регистра при вводеВ чем может быть ошибка?
Не могу послать локальный запрос из моего js файла в node js оба на моем компе , вот как я это делаю вот node js