jquery - Google Maps in external js file? -


i'm trying have google maps js code run externally... no avail - blank div.

here's code - html:

    <script type="text/javascript" src="js_plugins/jquery.googlemaps.js"></script>     <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>      <div id="googlemaps_content">       <form id="googlemaps_form" action="" onsubmit="calcroute(); return false;">         <input id="googlemaps_origininput" type="text" value="" />         <input id="googlemaps_directionsbtn" type="submit" value="calcular itinerário" />       </form>       <div id="googlemaps_map" style="width: 100%; height: 220px;"></div>       <div id="googlemaps_directions"></div>     </div> <!-- end of id="googlemaps_content" --> 

... , js (js_plugins/jquery.googlemaps.js):

$(document).ready(function(){    var directiondisplay;   var directionsservice = new google.maps.directionsservice();    function initialize(){      var latlng = new google.maps.latlng(40.080645,-8.320526);      directionsdisplay = new google.maps.directionsrenderer();      var mapoptions = {       zoom: 14,       center: latlng,       maptypeid: google.maps.maptypeid.roadmap,       maptypecontrol: true,       maptypecontroloptions: {         style: google.maps.maptypecontrolstyle.horizontal_bar,         position: google.maps.controlposition.top_right       }      };      var map = new google.maps.map(document.getelementbyid("googlemaps_map") ,mapoptions);      directionsdisplay.setmap(map);      directionsdisplay.setpanel(document.getelementbyid("googlemaps_directions"));      var marker = new google.maps.marker({       position: latlng,        map: map,        title: "nova plaquemar, mundo de pedra"     });     }    function calcroute(){      var start = document.getelementbyid("googlemaps_origininput").value;      var end = "40.080645,-8.320526";      var request = {       origin:start,       destination:end,       travelmode: google.maps.directionstravelmode.driving     };      directionsservice.route(request, function(response, status){       if (status == google.maps.directionsstatus.ok){       directionsdisplay.setdirections(response);       } else {         if (status == 'zero_results'){           alert('não foi encontrado nenhum intinerário entre o ponto de partida origem e o destino.'); // no route found between origin , destination.         } else if (status == 'unknown_error'){           alert('o pedido de direcções não pode ser processado devido um erro servidor. o pedido pode ser bem sucedido se o fizer outra vez.'); // directions request not processed due server error. request may succeed if try again.         } else if (status == 'request_denied'){           alert('esta página não tem permissão para usar o srviço de direcções.'); // webpage not allowed use directions service.         } else if (status == 'over_query_limit'){           alert('a página ultrapassou o limite de pedidos num período de tempo demasiado curto.'); // webpage has gone on requests limit in short period of time.         } else if (status == 'not_found'){           alert('não foi possível fazer o geocode de pelo menos um dos parâmetros: origem, destino ou itinerário.'); // @ least 1 of origin, destination, or waypoints not geocoded.         } else if (status == 'invalid_request'){           alert('o pedido de direcção providenciado é inválido.'); // directionsrequest provided invalid.                  } elsez{           alert("houve um erro no seu pedido. informação pedido: \n\n"+status); // there unknown error in request. requeststatus: ...         }       }     });    }    initialize();  }); 

it's noobish thing. :p

pedro

  1. your jquery.googlemaps should after maps.

  2. correct elsez else in last condition:

change

} elsez{           alert("houve um erro no seu pedido. informação pedido: \n\n"+status); // there unknown error in request. requeststatus: ...         } 

to

} else{           alert("houve um erro no seu pedido. informação pedido: \n\n"+status); // there unknown error in request. requeststatus: ...         } 

this work :)


Comments