2010-03-22 2 views
2

API Google Maps может создавать направление от источника до пункта назначения. В следующем примере Google каждый шаг публикуется в код HTML: http://code.google.com/apis/maps/documentation/examples/directions-simple.htmlОтображение каждого шага геокодирования направлений

Я хотел бы получить Геокодирование каждого шага этого направления и сохранить их в массиве. Я считаю, что это возможно, но я не вижу, как обрабатывать.

Большое спасибо за любой ответ. С уважением

ответ

3

Да, вы можете получить индивидуальные шаги от GDirections очень легко.

Прежде всего вам необходимо пройти опцию getSteps: true, когда вы позвоните по методу GDirections.load(). Тогда вы можете просто перебирать GDirections.getRoute(i).getStep(j), как показано в следующем примере:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Simple Directions Demo</title> 
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false" 
       type="text/javascript"></script> 
</head> 
<body onunload="GUnload()"> 
    <div id="map" style="width: 550px; height: 400px"></div> 

    <script type="text/javascript"> 
     var map = new GMap2(document.getElementById("map")); 
     var directions = new GDirections(map); 

     directions.load('from: London, UK to: Glasgow, UK', { getSteps: true }); 

     GEvent.addListener(directions, "load", function() { 
     if (directions.getNumRoutes() > 0) { 
      for (var i = 0; i < directions.getRoute(0).getNumSteps(); i++) { 
       directions.getRoute(0).getStep(i).getLatLng().lat(); 
       directions.getRoute(0).getStep(i).getLatLng().lng(); 
       directions.getRoute(0).getStep(i).getDescriptionHtml(); 
       directions.getRoute(0).getStep(i).getPolylineIndex(); 
       directions.getRoute(0).getStep(i).getDistance().meters; 
       directions.getRoute(0).getStep(i).getDuration().seconds; 
      } 
     } 
     }); 
    </script> 
</body> 
</html> 

Дополнительная литература и ссылки:

+0

Спасибо, Даниил Vassallo! Просто потрясающий пример! Очень полезно. –

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