3

我需要绘制一组邮政编码以及行驶方向。邮政编码将按某些标准的升序排序。因此,排序数组中的第一个邮政编码应绘制为 A,第二个邮政编码为 B,......最后一个邮政编码作为对应的下一个字母(如 maps.google.com 的获取方向部分所示)以及行驶路线。

任何人都可以帮助我使用 Google api V3 的 javascript 嵌入代码来执行此功能..

4

1 回答 1

2

最后我可以做到这一点。代码如下,

     <!DOCTYPE html>
     <html>
     <head>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <title>Google Maps JavaScript API v3 Example: Directions Waypoints</title>
        <link href="http://code.google.com/apis/maps/documentation/javascript/examples/standard.css" rel="stylesheet" type="text/css" />
        <script src="https://maps-api-ssl.google.com/maps/api/js?v=3&sensor=false"  type="text/javascript"></script>
        <script type="text/javascript">
           function initialize() {

                var directionDisplay;
                var directionsService = new google.maps.DirectionsService();

                var map;
                directionsDisplay = new google.maps.DirectionsRenderer();

                var chicago = new google.maps.LatLng(41.850033, -87.6500523);
                var myOptions = {
                zoom: 6,
                mapTypeId: google.maps.MapTypeId.ROADMAP,
                center: chicago }

                var waypts = [];
                var PtsArray = [];

                //Give input as postcode/place name as a single string seperated by pipeline character as follows. 
                var PointsString = "LE126UW" + "|" + "NG104AH" + "|" + "B112RJ" + "|" + "London";            


                PtsArray = PointsString.split("|");

                var length = PtsArray.length;
                if (length > 2) {
                for (i = 1; i < (length - 1); i++) {
                   waypts.push({
                       location: String(PtsArray[i]),
                       stopover: true
                    });
                 }
               }

             var request = {
               origin: String(PtsArray[0]),
               destination: String(PtsArray[length - 1]),
               waypoints: waypts,
               optimizeWaypoints: false,//set this to true to get optimized path else it will plot as the given input.
               travelMode: google.maps.DirectionsTravelMode.DRIVING//set your travel mode here (walking,driving..)
              };


               directionsService.route(request, function (response, status) {

                  if (status == google.maps.DirectionsStatus.OK) {
                      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
                      directionsDisplay.setMap(map);
                      directionsDisplay.setDirections(response);
                      var route = response.routes[0];
                      var total = 0;
                      var numberLegs = route.legs.length;
                   }
                   else {
                       alert("Could not load data.." + status);
                   }
             });
          }       

     </script>
   </head>
  <body onload="initialize()">
      <div id="map_canvas" style="float: left; width: 100%; height: 480px;">
  </div>
   <br />
   <br />
  </body>
   </html>
于 2011-07-07T05:13:05.390 回答