javascript - 如何使用 google api javascript 嵌入代码在 map 中按给定顺序精确绘制邮政编码和行车路线?

标签 javascript google-maps-api-3 direction

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

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

最佳答案

我终于可以做到了。代码如下,

     <!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>

关于javascript - 如何使用 google api javascript 嵌入代码在 map 中按给定顺序精确绘制邮政编码和行车路线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6582395/

相关文章:

javascript - 在javascript中解析xml

iphone - 如何使用cocos2d制作特定方向的箭头?

android - 如何在 flexbox-layout 中改变项目的方向

swift - 两个标记之间的快速方向

javascript - 谷歌地图上的信息窗口无法正常工作

javascript - Google maps api 平行路径线

javascript - 如何检查缩小是否出错?

javascript - AJAX Kendo 工具提示竞争条件

javascript - 点击调用: Navigation is blocked

google-maps - 谷歌地图 API 错误 : RefererNotAllowedMapError