javascript - Google Map API V3 - ReferenceError: Google is not defined - script error in Windows 2008 R2 new machine -
i have html page works in local machine, , have same page in old server, , works too.
now, try migrate new server , have script errors.
whenever try load google maps html code never display , following error:
referenceerror: google not defined
here code:
<!doctype html> <html> <head> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <style> .etiqueta { font-size: 9pt; font-family: 'microsoft sans serif'; } .valor { width: 95%; } </style>
<script type="text/javascript"> var gmap; var mypano = null; var puntolatlon; var prmdir; var geocoder; var geomarker; var prmlngx = null; var prmlaty = null; var prmyaw = null; var prmpitch = null; var prmzoom = null; var prmdir = null; var iconofarmacia = { anchor: new google.maps.point(8, 9), url: './iconos/iconofarmacia.png', size: new google.maps.size(16, 16) }; google.maps.event.adddomlistener(window, 'load', initialize); function initialize() { var mapoptions = { pancontrol: true, zoomcontrol: true, maptypecontrol: true, scalecontrol: false, maptypeid: google.maps.maptypeid.roadmap, streetviewcontrol: true, overviewmapcontrol: true, overviewmapcontroloptions: { opened: true } }; gmap = new google.maps.map(document.getelementbyid("map_canvas"), mapoptions); geocoder = new google.maps.geocoder(); //obtenemos los parametros que nos vienen en la url url = location.href; //longitud if ((url).search('longitudx') != -1) { prmlngx = leeparametros('longitudx'); } //latitud if ((url).search('latitudy') != -1) { prmlaty = leeparametros('latitudy'); } //yaw if ((url).search('yaw') != -1) { prmyaw = leeparametros('yaw'); } //pitch if ((url).search('pitch') != -1) { prmpitch = leeparametros('pitch'); } //zoom if ((url).search('zoom') != -1) { prmzoom = leeparametros('zoom'); } //direccion if ((url).search('direccion') != -1) { prmdir = leeparametros('direccion'); prmdir = unescape(prmdir); if (prmdir != "") { document.getelementbyid('txtcalle').value = prmdir; } } else { //una direccion por defecto prmdir = 'conselleria de sanidade, san lazaro, 15703 santiago de compostela'; document.getelementbyid('txtcalle').value = prmdir; } if ( (prmlngx == null || prmlaty == null) && prmdir !=null ) { // si no tenemos coordenadas obtenemos partir de la direccion que viene en el parametro if (geocoder) { geocoder.geocode( { 'address': prmdir, region: 'es' }, function(results, status) { if (status == google.maps.geocoderstatus.ok) { var locresultado = results[0].geometry.location; gmap.setcenter(locresultado); gmap.setzoom(15); addresultadoamapa(locresultado); inicializartrasresultado(locresultado); } else { alert(prmdir + ": dirección no encontrada: " + status); } } ); } } else if (prmlngx != null && prmlaty != null) { var puntocoord = new google.maps.latlng(prmlaty, prmlngx); gmap.setcenter(puntocoord); gmap.setzoom(15); if (prmyaw == null || prmpitch == null || prmzoom == null) { //buscamos solo por coordenadas addresultadoamapa(puntocoord); } else { //buscamos coordenas y yaw, pitch y zoom --> por todo addresultadoamapa(puntocoord, prmyaw, prmpitch, prmzoom); } inicializartrasresultado(puntocoord); } else { alert("parámetros de búsqueda incompletos"); } } function inicializartrasresultado(puntocoord) { if (geomarker) geomarker.setmap(null); //ponemos una marca encima de las coordenadas en el mapa geomarker = new google.maps.marker({ map: gmap, position: puntocoord, icon: iconofarmacia }); //var streetviewlayer = new google.maps.streetviewcoveragelayer(); //streetviewlayer.setmap(gmap); } function addresultadoamapagenerico(panoramaoptions, zoomaux) { mypano = new google.maps.streetviewpanorama(document.getelementbyid("streetviewpanoramadiv"), panoramaoptions); gmap.setstreetview(mypano); mypano.setvisible(true); var stvservice = new google.maps.streetviewservice(); stvservice.getpanoramabylocation(mypano.getposition(), 50, disponibilidadstreetview); document.getelementbyid("txtlong").value = redond(mypano.getposition().lng(), 6); document.getelementbyid("txtlat").value = redond(mypano.getposition().lat(), 6); document.getelementbyid("txtzoom").value = redond(zoomaux, 0); document.getelementbyid("txtyaw").value = redond(mypano.getpov().heading, 6); document.getelementbyid("txtpitch").value = redond(mypano.getpov().pitch, 6); google.maps.event.addlistener(mypano, "error", handlenoflash); google.maps.event.addlistener(mypano, "pov_changed", onpovchange); google.maps.event.addlistener(mypano, "initialized", onnewlocation); google.maps.event.addlistener(mypano, 'position_changed', onpositionchanged); google.maps.event.addlistener(gmap.getstreetview(), 'visible_changed', onvisibilitychanged); } function addresultadoamapa(puntolatlon) { var yaw = null; var pitch = null; var punto = puntolatlon; var panoramaoptions = { position: puntolatlon, pov: { heading: yaw, pitch: pitch } }; addresultadoamapagenerico(panoramaoptions, mypano.getzoom()); } function addresultadoamapa(puntolatlon, yaw, pitch, zoom) { if (isnan(yaw)) { yaw = 0; } if (isnan(pitch)) { pitch = 0; } if (isnan(zoom)) { zoom = 0; } var yawaux = yaw; var pitchaux = pitch; var zoomaux = zoom; var punto = puntolatlon; var panoramaoptions = { position: puntolatlon, pov: { heading: redond(yawaux, 6), pitch: redond(pitchaux, 6), zoom: redond(zoomaux, 6) } }; addresultadoamapagenerico(panoramaoptions, zoomaux); } function disponibilidadstreetview(result, status) { if (status != google.maps.streetviewstatus.ok) { document.getelementbyid("txterror").value = " 'streetview' no disponible en la ubicación."; document.getelementbyid("map_canvas").style.height = 580 + 'px'; document.getelementbyid("streetviewpanoramadiv").style.height = 0 + 'px'; } } function redond(num, ndec) { var fact = math.pow(10, ndec); /* se desplaza el punto decimal ndec posiciones, se redondea el numero y se vuelve colocar el punto decimal en su sitio. */ return math.round(num * fact) / fact; } function handlenoflash(errorcode) { document.getelementbyid("txterror").value = " 'streetview' no disponible en la ubicación."; //mostramos el mapa mas grande ya que no hay streetview document.getelementbyid("map_canvas").style.height = 580 + 'px'; document.getelementbyid("streetviewpanoramadiv").style.height = 0 + 'px'; } function onpovchange() { document.getelementbyid("txtzoom").value = redond(mypano.getzoom(), 0); document.getelementbyid("txtyaw").value = redond(mypano.getpov().heading, 6); document.getelementbyid("txtpitch").value = redond(mypano.getpov().pitch, 6); } function onnewlocation(point) { //para que funcione correctamente debo intercambiar los valores document.getelementbyid("txtlong").value = redond(point.lng(), 6); document.getelementbyid("txtlat").value = redond(point.lat(), 6); } function onpositionchanged() { //para que funcione correctamente debo intercambiar los valores document.getelementbyid("txtlong").value = redond(mypano.getposition().lng(), 6); document.getelementbyid("txtlat").value = redond(mypano.getposition().lat(), 6); var stvservice = new google.maps.streetviewservice(); stvservice.getpanoramabylocation(mypano.getposition(), 50, disponibilidadstreetview); } function onvisibilitychanged() { if (this.getvisible() == false) { document.getelementbyid("txterror").value = " 'streetview' no disponible en la ubicación."; document.getelementbyid("map_canvas").style.height = 580 + 'px'; document.getelementbyid("streetviewpanoramadiv").style.height = 0 + 'px'; if (geomarker) { document.getelementbyid("txtlong").value = redond(geomarker.getposition().lng(), 6); document.getelementbyid("txtlat").value = redond(geomarker.getposition().lat(), 6); } } else { document.getelementbyid("txterror").value = ""; document.getelementbyid("map_canvas").style.height = 296 + 'px'; document.getelementbyid("streetviewpanoramadiv").style.height = 288 + 'px'; } } function haserroroccurred(error) { if (error) { alert("error " + error.code + ": " + (error.message || (error.details && error.details.join(" ")) || "unknown error")); return true; } return false; } //funcion que lee los parametros de la url function leeparametros(name) { name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var regexs = "[\\?&]" + name + "=([^&#]*)"; var regex = new regexp(regexs); var results = regex.exec(window.location.href); if (results == null) return ""; else //necesario la funcion unescape porque algunos navegadores pintan los espacios como %20 return unescape(results[1]); } </script> </head> <body bgcolor="lightgrey"> <form id="form1" runat="server" action="#"> <div id="map_canvas" style="height: 296px; width: 100%;"></div> <br /> <div id="streetviewpanoramadiv" style="height: 288px; width: 100%;"></div> <br /> <fieldset style="width: 824px" align="center"> <legend class="etiqueta">datos localización</legend> <table> <tr> <td style="width: 95px"><label for="txtlong" id="lbllon" class="etiqueta">lon. (x):</label></td> <td style="width: 310px"><input type="text" id="txtlong" class="valor" disabled /></td> <td style="width: 95px"><label for="txtlat" id="lbllat" class="etiqueta">lat. (y):</label></td> <td style="width: 310px"><input type="text" id="txtlat" class="valor" disabled /></td> </tr> <tr> <td style="width: 95px"><label for="txtyaw" id="lblyaw" class="etiqueta">yaw:</label></td> <td style="width: 310px"><input type="text" id="txtyaw" class="valor" disabled /></td> <td style="width: 95px"><label for="txtpitch" id="lblyaw" class="etiqueta">pitch:</label></td> <td style="width: 310px"><input type="text" id="txtpitch" class="valor" disabled /></td> </tr> <tr> <td style="width: 95px"><label for="txtzoom" id="lblzoom" class="etiqueta">zoom:</label></td> <td style="width: 310px"><input type="text" id="txtzoom" class="valor" disabled /></td> <td style="width: 95px"><label for="txterror" id="lblerror" class="etiqueta">descripción:</label></td> <td style="width: 310px"><input type="text" id="txterror" class="valor" disabled /></td> </tr> <tr> <td style="width: 95px"><label for="txtcalle" id="lblcalle" class="etiqueta">ubicación:</label></td> <td colspan="3" ><input type="text" id="txtcalle" disabled style="width: 706px; text-transform :uppercase"/></td> </tr> <tr> <td style="width: 95px"></td> <td style="width: 310px"></td> <td style="width: 90px"></td> <td style="width: 310px" align="right"></td> </tr> </table> </fieldset> </form> </body> </html>
somebody understand happening? thanks, first post in stackoverflow. have ie9 in new machine. new server windows 2008 r2 in 64bits , old windows 2003 32 bits. thank help.
use library
<script src='http://maps.google.com/maps/api/js?sensor=false&libraries=drawing&dummy=.js' type='text/javascript'></script>
Comments
Post a Comment