If anyone encountered the same problem and come up with the solution please give me an idea if what's wrong with this code.
The InfoWindow is not working when i click the map polygon.
All parts are working except for InfoWindow Pop up.
function initialize() { var mapOptions = { zoom: 5, center: new google.maps.LatLng(12.63276, 122.27588), mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); var arr = new Array(); var polygons = []; var bounds = new google.maps.LatLngBounds(); $.ajax({ url: baseUrl + "/polygon/xml", async: !0, type: "POST", data: {}, dataType: "xml", success: function(t) { var xml = xmlParse(getXmlString(t)); var subdivision = xml.getElementsByTagName("Subdivision"); for (var i = 0; i < subdivision.length; i++) { arr = []; var coordinates = xml.documentElement.getElementsByTagName("Subdivision").getElementsByTagName("coord"); for (var j = 0; j < coordinates.length; j++) { arr.push(new google.maps.LatLng( parseFloat(coordinates[j].getAttribute("lat")), parseFloat(coordinates[j].getAttribute("lng")) )); bounds.extend(arr[arr.length - 1]) } polygons.push(new google.maps.Polygon({ paths: arr, strokeColor: '#FF0000', strokeOpacity: 0.8, strokeWeight: 1, fillColor: '#FFF000', fillOpacity: 0.8 })); polygons[polygons.length - 1].setMap(map); // xxx google.maps.event.addListener(polygons[polygons.length - 1], 'click', function(e) { var content = ""; content += "Latitude: " + e.latLng.lat() + "
"; content += "Longitude: " + e.latLng.lng() + "
"; showInfoWindow(e.latLng, content); }); infoWindow = new google.maps.InfoWindow({}); // zzz } map.fitBounds(bounds); } }); } function showInfoWindow(latLng, content) { // alert(latLng); // alert(content); infoWindow.setContent('Rollie'); infoWindow.setPosition(latLng); infoWindow.open(map); } function getXmlString(xml) { if (window.ActiveXObject) { return xml.xml; } return new XMLSerializer().serializeToString(xml); } function xmlParse(str) { if (typeof ActiveXObject != 'undefined' && typeof GetObject != 'undefined') { var doc = new ActiveXObject('Microsoft.XMLDOM'); doc.loadXML(str); return doc; } if (typeof DOMParser != 'undefined') { return (new DOMParser()).parseFromString(str, 'text/xml'); } return createElement('div', null); } var baseUrl = "http://" + document.domain + ":8080"; google.maps.event.addDomListener(window, 'load', initialize);
أكثر...
The InfoWindow is not working when i click the map polygon.
All parts are working except for InfoWindow Pop up.
function initialize() { var mapOptions = { zoom: 5, center: new google.maps.LatLng(12.63276, 122.27588), mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); var arr = new Array(); var polygons = []; var bounds = new google.maps.LatLngBounds(); $.ajax({ url: baseUrl + "/polygon/xml", async: !0, type: "POST", data: {}, dataType: "xml", success: function(t) { var xml = xmlParse(getXmlString(t)); var subdivision = xml.getElementsByTagName("Subdivision"); for (var i = 0; i < subdivision.length; i++) { arr = []; var coordinates = xml.documentElement.getElementsByTagName("Subdivision").getElementsByTagName("coord"); for (var j = 0; j < coordinates.length; j++) { arr.push(new google.maps.LatLng( parseFloat(coordinates[j].getAttribute("lat")), parseFloat(coordinates[j].getAttribute("lng")) )); bounds.extend(arr[arr.length - 1]) } polygons.push(new google.maps.Polygon({ paths: arr, strokeColor: '#FF0000', strokeOpacity: 0.8, strokeWeight: 1, fillColor: '#FFF000', fillOpacity: 0.8 })); polygons[polygons.length - 1].setMap(map); // xxx google.maps.event.addListener(polygons[polygons.length - 1], 'click', function(e) { var content = ""; content += "Latitude: " + e.latLng.lat() + "
"; content += "Longitude: " + e.latLng.lng() + "
"; showInfoWindow(e.latLng, content); }); infoWindow = new google.maps.InfoWindow({}); // zzz } map.fitBounds(bounds); } }); } function showInfoWindow(latLng, content) { // alert(latLng); // alert(content); infoWindow.setContent('Rollie'); infoWindow.setPosition(latLng); infoWindow.open(map); } function getXmlString(xml) { if (window.ActiveXObject) { return xml.xml; } return new XMLSerializer().serializeToString(xml); } function xmlParse(str) { if (typeof ActiveXObject != 'undefined' && typeof GetObject != 'undefined') { var doc = new ActiveXObject('Microsoft.XMLDOM'); doc.loadXML(str); return doc; } if (typeof DOMParser != 'undefined') { return (new DOMParser()).parseFromString(str, 'text/xml'); } return createElement('div', null); } var baseUrl = "http://" + document.domain + ":8080"; google.maps.event.addDomListener(window, 'load', initialize);
أكثر...