var map = null; var geocoder = new GClientGeocoder(); function showAddress(oAssoc,map) { var oPoint = new GLatLng(oAssoc.nLat,oAssoc.nLong); var marker = new GMarker(oPoint); GEvent.addListener(marker,"click", function() { var strHTML = ""+ oAssoc.strNom +"
"+oAssoc.strAdr+"
"+oAssoc.strTfn; map.openInfoWindowHtml(oPoint,strHTML); }); map.addOverlay(marker); } function geoCodeAddress(oAssoc) { geocoder.getLatLng( oAssoc.strGAdr, function(point) { if (!point) { document.getElementById('logDIV').innerHTML += '
mm'+ oAssoc.strGAdr +' not found!!'; } else { //alert('going to geocode assoc #'+ oAssoc.nId +'with lat='+ point.lat() +'and long='+ point.lng()); new Ajax.Request('ajax/geoCodeAssoc.php',{method:'post', postBody:'pIdAssoc='+ oAssoc.nId +'&pLat='+ point.lat() +'&pLong='+ point.lng(), onSuccess:responseGeocode,onFailure:showAjaxError}); } } ); } function ognGetMicroCallAttribute(oXMLDoc,strAttributeName){ return (oXMLDoc.getElementsByTagName('result').item(0).getAttribute(strAttributeName)); } function responseGeocode(ajaxResponse){ var xmlDoc = ajaxResponse.responseXML; var strValue = ognGetMicroCallAttribute(xmlDoc,"value"); var nRetCode = ognGetMicroCallAttribute(xmlDoc,"retcode"); var strErrBuf = ognGetMicroCallAttribute(xmlDoc,"errbuf"); nRetCode = (nRetCode>0)?1:0; var oDiv = document.getElementById("logDIV"); switch (nRetCode){ case 0: // OK strMessage = "Associacio ID="+ strValue +"geocoficada correctament"; break; case 1: // //Mostramos mensaje de error strMessage = "ERROR Associacio ID="+ strValue; break; } oDiv.innerHTML += "

"+ strMessage +"

"; } function showAjaxError(ajaxResponse) { alert('Error ' + ajaxResponse.status + ' -- ' + ajaxResponse.statusText); } function loadMap() { var nLatitude = 41.423528; var nLongitude = 2.156843; var oCarmelPoint = new GLatLng(nLatitude,nLongitude); // Inicialitzem el mapa centrat a CarmelAmunt if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); map.setCenter(oCarmelPoint, 13); //Control var mapTypeControl = new GMapTypeControl(); var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10)); var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10)); map.addControl(mapTypeControl, topRight); GEvent.addListener(map, "dblclick", function() { map.removeControl(mapTypeControl); map.addControl(new GMapTypeControl(), bottomRight); }); map.addControl(new GSmallMapControl()); } drawMarkersAssociacions(); } function getFiltreByTipus(aAssociacions,nIdTipus){ var aFiltre = new Array(); for(var i=0;i