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