///////////////////////////////// // Scripts do Google Maps // ///////////////////////////////// // lat - N - S // Long - O - E //-------------------------------------------------------------- // create the map (Inicialização) //-------------------------------------------------------------- var map; var gdir; var gmarkers = []; var to_htmls = []; var from_htmls = []; function inicializar(centrar,zoomLevel) { map = new GMap2(document.getElementById("map")); // === create a GDirections Object === gdir = new GDirections(map, document.getElementById("directions")); // ------------------------------------------ // para os erros de get directions // ------------------------------------------ var reasons=[]; reasons[G_GEO_MISSING_ADDRESS] = "Missing Address: The address was either missing or had no value."; reasons[G_GEO_UNKNOWN_ADDRESS] = "Unknown Address: No corresponding geographic location could be found for the specified address."; reasons[G_GEO_UNAVAILABLE_ADDRESS]= "Unavailable Address: The geocode for the given address cannot be returned due to legal or contractual reasons."; reasons[G_GEO_TOO_MANY_QUERIES] = "Too Many Queries: The daily geocoding quota for this site has been exceeded."; reasons[G_GEO_SERVER_ERROR] = "Server error: The geocoding request could not be successfully processed."; reasons[G_GEO_BAD_REQUEST] = "A directions request could not be successfully parsed."; reasons[G_GEO_UNKNOWN_DIRECTIONS] = "The GDirections object could not compute directions between the points."; // === catch Directions errors === GEvent.addListener(gdir, "error", function() { var code = gdir.getStatus().code; var reason="Code "+code; if (reasons[code]) { reason = reasons[code] } alert("Failed to obtain directions, "+reason); }); // ------------------------------------------ // fim do get dirtections // ------------------------------------------ var mapTypeControl = new GMapTypeControl(); map.addControl(new GSmallZoomControl()); map.addControl(new GMapTypeControl()); map.removeMapType(G_HYBRID_MAP); map.addControl(new GOverviewMapControl()); map.enableScrollWheelZoom(); if (!zoomLevel) { zoomLevel=6; } if (centrar=='true') { map.setCenter(new GLatLng(39.742268,-6.844487),zoomLevel); } } // // //-------------------------------------------------------------- // DIRECTIONS //-------------------------------------------------------------- // // function getDirections() { var saddr = document.getElementById("saddr").value if (saddr != "") { saddr = saddr + ', Portugal' } var daddr = document.getElementById("daddr").value //changeDisplay('ctl00_ContentPlaceHolder1_pnlResultados'); showDirs('ctl00_ContentPlaceHolder1_pnlResultados'); gdir.load("from: "+saddr+" to: "+daddr); } // This function picks up the click and opens the corresponding info window function myclick(i) { gmarkers[i].openInfoWindowHtml(htmls[i]); } // functions that open the directions forms function tohere(i) { gmarkers[i].openInfoWindowHtml(to_htmls[i]); } //-------------------------------------------------------------- // Cria o ponto e o HTML que mostra quando se clica no mesmo // A function to create the marker and set up the event window //-------------------------------------------------------------- function processaPontos(lat,lng, html, label, iCount, numPontos) { var gmarkersD = []; var gmarkersG = []; var point = new GLatLng(lat,lng); var myIcon = new GIcon(G_DEFAULT_ICON); //var myIcon = new GIcon(G_DEFAULT_ICON,"images/mapas/logo_varios.gif); if (numPontos=='no') { myIcon.image = "images/mapas/logo.gif"; html = html + '
'; } else { myIcon.image = 'images/mapas/logo_' + numPontos + '.gif'; } var marker = new GMarker(point, myIcon); to_htmls[iCount] = '