Note that there are some explanatory texts on larger screens.

plurals
  1. POGoogle Map InfoWindow Content Binding
    primarykey
    data
    text
    <p><p>Im new with google map. I'm having problem in rebinding the data in my infowindow. <br/> When I close the window using the "x" button in the upper right of the infowindow,<br> then open it again... All of the updated contents of the infowindow will load again to <br/> its initial state instead of the latest update? What I want is that when i close the<br> infowindow, the infowindow must have the latest data.<p></p> <pre><code>&lt;!DOCTYPE html &gt; &lt;head&gt; &lt;meta name="viewport" content="initial-scale=1.0, user-scalable=no" /&gt; &lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"/&gt; &lt;title&gt;PHP/MySQL &amp; Google Maps Example&lt;/title&gt; &lt;script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="D:\Program Files\xampp\xampp\htdocs\googletest\progressBar.js"&gt;&lt;/script&gt; &lt;script type="text/javascript"&gt; //&lt;![CDATA[ var infoWindow=new Array(); var htmlPrevious=new Array(); var html; var marker=new Array(); function load() { var map = new google.maps.Map(document.getElementById("map"), { center: new google.maps.LatLng(7.11425, 124.83758), zoom: 11, mapTypeId: 'roadmap' }); downloadUrl("phpsqlajax_genxml.php", function(data) { var xml = data.responseXML; var markers = xml.documentElement.getElementsByTagName("marker"); html = new Array(markers.length); infowindow = new Array(markers.length); for (var i = 0; i &lt; markers.length; i++) { infoWindow[i] = new google.maps.InfoWindow; var sender = markers[i].getAttribute("sender"); var update = markers[i].getAttribute("update_time"); var name = markers[i].getAttribute("name"); var humidity = markers[i].getAttribute("humidity"); var temperature = markers[i].getAttribute("temperature"); var rain = markers[i].getAttribute("rain"); var wind_dir = markers[i].getAttribute("wind_dir"); var wind_speed = markers[i].getAttribute("wind_speed"); var image = markers[i].getAttribute("image"); var point = new google.maps.LatLng( parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); html[i] = "&lt;div style='display:block;' width='600' height='300' overflow='hidden'&gt;&lt;img style='display:block;' src='"+image+" ' width='300' height='184' /&gt; &lt;br/&gt;&lt;b&gt;" + name + "&lt;/b&gt; &lt;br/&gt;Sender: " + sender + "&lt;br/&gt;Time: " + update + "&lt;br/&gt; Humidity: " + humidity + "&lt;br/&gt;Temperature: " + temperature + "&lt;br/&gt;Rain: " + rain + "&lt;br/&gt;Wind Direction: " + wind_dir + "&lt;br/&gt;Wind Speed: " + wind_speed + "&lt;div&gt;"; htmlPrevious[i]=html[i]; marker[i] = new google.maps.Marker({ map: map, position: point, title: name }); bindInfoWindow(marker[i], map, infoWindow[i], html[i]); }//end for loop });//downloadurl setInterval("refreshMarker()",1000); } function refreshMarker(){ downloadUrl("phpsqlajax_genxml.php", function(data) { var xml = data.responseXML; var markers = xml.documentElement.getElementsByTagName("marker"); for (var i = 0; i &lt; markers.length; i++) { var sender = markers[i].getAttribute("sender"); var update = markers[i].getAttribute("update_time"); var name = markers[i].getAttribute("name"); var humidity = markers[i].getAttribute("humidity"); var temperature = markers[i].getAttribute("temperature"); var rain = markers[i].getAttribute("rain"); var wind_dir = markers[i].getAttribute("wind_dir"); var wind_speed = markers[i].getAttribute("wind_speed"); var image = markers[i].getAttribute("image"); var point = new google.maps.LatLng( parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); html[i] = "&lt;div style='display:block;' width='600' height='300' overflow='hidden'&gt;&lt;img style='display:block;' src='"+image+" ' width='300' height='184' /&gt; &lt;br/&gt;&lt;b&gt;" + name + "&lt;/b&gt; &lt;br/&gt;Sender: " + sender + "&lt;br/&gt;Time: " + update + "&lt;br/&gt; Humidity: " + humidity + "&lt;br/&gt;Temperature: " + temperature + "&lt;br/&gt;Rain: " + rain + "&lt;br/&gt;Wind Direction: " + wind_dir + "&lt;br/&gt;Wind Speed: " + wind_speed + "&lt;div&gt;"; if (html[i]!=htmlPrevious[i]){ htmlPrevious[i]=html[i]; infoWindow[i].setContent(html[i]); google.maps.event.addListener(marker, 'click', function() { infoWindow[i].set("marker",null); infoWindow[i].close(); bindInfoWindow(marker[i], map, infoWindow[i], html[i]); infoWindow[i]=infoWindow; }); } //infoWindow.open(map, marker); } }); } function bindInfoWindow(marker, map, infoWindow, html) { google.maps.event.addListener(marker, 'click', function() { infoWindow.setContent(html); infoWindow.open(map, marker); alert("imhere"); }); } function closeInfoWindow(marker, map, infoWindow, html) { google.maps.event.addListener(marker, 'closeclick', function() { infoWindow.close(); alert("im here"); }); } 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() {} //]]&gt; &lt;/script&gt; &lt;/head&gt; &lt;body onload="load()"&gt; &lt;div id="map" style="width: 1330px; height: 610px"&gt;&lt;/div&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>Any help will highly appreciated.. :-)</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload