Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/07/2013, 16:41
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como añadir a este codigo que muestre una marca de google maps "casi esta"

Hola franjgg:
Desde tu código no llego a reproducir la página. Mucho me temo que es por el CSS.
No obstante, permíteme hacer algunas observaciones:

Utilizar v=3.exp de Google Maps, salvo que tengas una razón importante para hacerlo (es la experimental, en este momento 3.13), con el enlace
Código Javascript:
Ver original
  1. <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&amp;language=es"></script>
accedes a la versión 3.12, estable desde el 19 de febrero de 2013.

No entiendo bien lo de eliminar el marcador (entiendo que personalizado) de end (destino). Si no existe, no hay marcador, y si existe y no lo quiero, ¿para qué crearlo?.

Sobre tu código (aparte de los estilos que he querido configurar en CSS (los tenía creados para pruebas) he definido sobre los inputs los términos de origen y destino para la mejor comprensión. Y si el valor de origen ha de aparecere por defecto (¿Siempre el mismo?) ¿por qué no incluirlo en el valor, e incluso ocultarlo?
Código HTML:
Ver original
  1. <input type="hidden" id="start" value="37.890054, -4.778567" />

Puedes probar este código de página que creo es lo que quieres:
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.     <head>
  3.     <meta charset="utf-8">
  4.     <meta name="viewport" content="width=device-width, initial-scale=1" />
  5.     <title>Displaying text directions with <code>setPanel()</code></title>
  6. <style type ="text/css">
  7. html,body{margin:0;padding:0;width:100%;height:100%;font-family:Verdana,Arial,sans serif}
  8. #cuerpo{width:25%;height:100%;float:left;vertical-align:middle;padding:2%}
  9. #map_canvas{width:70%;height:100%;float:right}
  10. #cuerpo input.navi{font-size:18px;width:90%;height:30px;margin-bottom:10px}
  11. #directions-panel{overflow:auto;height:350px}
  12.     <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&amp;language=es"></script>
  13. <script type="text/javascript">
  14. <!-- //
  15. var map;
  16. var directionsDisplay = new google.maps.DirectionsRenderer();
  17. var directionsService = new google.maps.DirectionsService();
  18. window.onload = function () {
  19.     var latlng = new google.maps.LatLng(37.890054, -4.778567);
  20.    var opciones = {
  21.        center: latlng,
  22.        zoom: 14,
  23.        mapTypeId: google.maps.MapTypeId.ROADMAP
  24.    };
  25.    map = new google.maps.Map(document.getElementById('map_canvas'), opciones);
  26. };
  27.  
  28. function calcRoute() {
  29.    var start = document.getElementById('start').value;
  30.    var end = document.getElementById('end').value;
  31.    var request = {
  32.        origin: start,
  33.        destination: end,
  34.         travelMode: google.maps.TravelMode.WALKING
  35.    };
  36.    directionsService.route(request, function (response, status) {
  37.        if (status == google.maps.DirectionsStatus.OK) {
  38.            directionsDisplay.setMap(map);
  39.            directionsDisplay.setPanel(document.getElementById('directions-panel'));
  40.            directionsDisplay.setDirections(response)
  41.        } else {
  42.            alert("No existen rutas entre ambos puntos")
  43.        }
  44.    })
  45. }
  46. // -->
  47.   </head>
  48.   <body>
  49.     <div id="cuerpo">
  50.       Origen
  51.       <br />
  52.       <input type="text" id="start" value="37.890054, -4.778567" />
  53.       <br/>
  54.       Destino
  55.       <br />
  56.       <input type="text" size="48" id="end" value=""  />
  57.       <input type="submit" name="submit" class="navi" value="Calcular ruta" onclick="calcRoute()" />
  58.       <br/>
  59.       <div id="directions-panel"> </div>
  60.     </div>
  61.     <div id="map_canvas"></div>
  62.   </body>
  63. </html>

Tu <div id="control"> puede serte útil para el estilo de los inputs de entrada de datos.