2012-11-15 64 views
0

我對代碼有一點疑問,我不知道它是什麼。我試圖在各地之間畫出方向,但代碼不起作用。我嘗試這個頁面:https://developers.google.com/maps/documentation/javascript/directions#TravelModes但我無法得到它。謝謝 !下面是代碼:JQuery Mobile和Google Maps方向問題

$(document).ready(function() { 

     $('#Encuentrame').click(function() { 
      if (navigator.geolocation) { 
       navigator.geolocation.getCurrentPosition(exito, error); 
      } else { 
       error('El navegador no soporta GeoLocalizacion'); 
      } 
     }); 
    }); 




    function exito(position) { 
     var marcadorCasa = new google.maps.LatLng(-34.5688496,-58.4322009); //establece la posicion de un marcador que elijo 
     var plazaDeMayo = new google.maps.LatLng(-34.60841643923174,-58.37216913700104); 
     var directionsDisplay; 
     directionsDisplay = new google.maps.DirectionsRenderer(); 
     var directionsService = new google.maps.DirectionsService(); 
     var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
     var myOptions = { 
     zoom: 19, 
     center: latlng, 
     mapTypeControl: false, 
     navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL}, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
     var mapcanvas = $('#mapcanvas'); 
     var map = new google.maps.Map(mapcanvas[0], myOptions); 
     var marker = new google.maps.Marker({ 
      position: latlng, 
      map: map, 
      title:"Creo que estoy aca !" 
     }); 
     directionsDisplay.setMap(map); 
     var lugarCasa = new google.maps.Marker({ 
     position:marcadorCasa, 
     map:map, 
     title:"CASA", 
     animation: google.maps.Animation.BOUNCE 
     }); 
     var plaza = new google.maps.Marker({ 
     position:plazaDeMayo, 
     map:map, 
     animation: google.maps.Animation.BOUNCE, 
     title:"Plaza de Mayo" 
     }); 

     var requerimientoDeDirecciones = new google.maps.DirectionsRequest({ 
     origin: latlng, 
     destination: LugarCasa, 
     travelMode: google.maps.TravelMode.BICYCLING, 
     unitSystem: UnitSystem.METRIC, 
     }); 

     directionsService.route(requerimientoDeDirecciones, function(result, status) { 
     if (status == google.maps.DirectionsStatus.OK) { 
      directionsDisplay.setDirections(result); 
     } 
     }); 

    } 

回答

0

有在你的代碼中的一些錯誤:

  • google.maps.DirectionsRequest實際上並不存在。 Google地圖文檔沒有指出任何構造函數。它應該被定義爲一個匿名對象。
  • origindestination必須是google.maps.LatLngString。代碼中的LugarCasa不是這種情況。
  • 您正在使用UnitSystem.METRIC而不是google.maps.UnitSystem.METRIC

這裏有一個工作版本:

var requerimientoDeDirecciones = { 
    origin: latlng, 
    destination: marcadorCasa, 
    travelMode: google.maps.TravelMode.BICYCLING, 
    unitSystem: google.maps.UnitSystem.METRIC 
}; 
+0

非常感謝亞歷山大Ardhuin!但是它的代碼不適用於...地圖中的指示不是渲染器......有人知道爲什麼? –

+0

我懷疑'TravelMode.BICYCLING'在你的國家不可用。嘗試檢查'status'的值是什麼,我認爲它不是'DirectionsStatus.OK'。您也可以嘗試使用'travelMode:google.maps.TravelMode.DRIVING'。 –

+0

我解決它謝謝! –