Отображение каждого шага геокода направлений

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

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

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


person Puru puru rin..    schedule 22.03.2010    source источник


Ответы (1)


Да, вы можете очень легко получить отдельные шаги из 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>

Дальнейшее чтение и ссылка:

person Daniel Vassallo    schedule 22.03.2010
comment
Спасибо, Даниэль Вассалло! Просто отличный пример! Очень полезно. - person Puru puru rin..; 23.03.2010