2013-07-19 3 views
2

Я стараюсь указывать направление для текущей позиции и координаты маркера. поэтому я получаю широту и долготу, используя getcurrentposition. то, я отмечаю это.Направления Google не работают

function initialize() { 
    directionsDisplay = new google.maps.DirectionsRenderer(); 
    var node = new google.maps.LatLng(-7.276442,112.791174); 
    var mapOptions = { 
    zoom: 15, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    map = new google.maps.Map(document.getElementById('map'), 
     mapOptions); 
    directionsDisplay.setMap(map); 

    navigator.geolocation.getCurrentPosition(function(position) { 
     pos = new google.maps.LatLng(position.coords.latitude, 
             position.coords.longitude); 

     var marker = new google.maps.Marker({ 
      position : pos, 
      map: map, 
      title:'Lokasi Anda' 
     }); 
     var marker1 = new google.maps.Marker({ 
      position : node, 
      map: map, 
      title:'Lokasi Anda' 
     }); 

     map.setCenter(pos); 
    }, function() { 
     handleNoGeolocation(true); 
    }); 

} 

, тогда, я рассчитываю его, используя эту функцию.

function calcRoute() { 

    var request = { 
     origin:pos, 
     destination:node, 
     travelMode: google.maps.DirectionsTravelMode.DRIVING 
    }; 

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

, но почему я не могу видеть направление от pos к node. любое предложение ?

+0

вы видите карту с маркерами на нем? Где/Когда вы называете calcRoute? – geocodezip

+0

Вы создаете directionService объект somwhere? Возможно, если вы проверите, что состояние, возвращаемое DirectionsService, когда это не равно OK, что может дать вам ключ. – geocodezip

+0

Я вижу маркер. CalcRoute вызывается, когда я нажимаю кнопку. Могу ли я проверить статус с предупреждением? –

ответ

1

Если я вызываю функцию calcRoute (и перехожу в местоположения «pos» и «node», она не может найти направления между тем, где я (в США) и где находится точка (Raya Its, Sukolilo , Сурабая City, Восточная Ява 60117, Республика Индонезия). DirectionsService возвращает статус «ZERO_RESULTS».

working example

function calcRoute(pos,node) { 
var directionsService = new google.maps.DirectionsService(); 
    var request = { 
     origin:pos, 
     destination:node, 
     travelMode: google.maps.DirectionsTravelMode.DRIVING 
    }; 

    directionsService.route(request, function(response, status) { 
    if (status == google.maps.DirectionsStatus.OK) { 
     directionsDisplay.setDirections(response); 
    } else { alert("Directions failed: "+status); } 
    }); 
} 
+0

Прошу прощения. В чем отличие latlng и latlngBound? –

+0

И почему DirectionService возвращает статус «ZERO_RESULT»? Какова возможная причина? –

+0

[LatLng] (https://developers.google.com/maps/documentation/javascript/reference#LatLng) - [LatLngBounds] (https://developers.google.com/maps/documentation/javascript/reference#LatLngBounds) - [ZERO_RESULTS] (https://developers.google.com/maps/documentation/javascript/reference#DirectionsStatus) – geocodezip

Смежные вопросы