无法使用Google Maps API v3计算道路距离

编码包

运行以下代码时出现两个错误:1.未捕获的InvalidValueError:setPosition的无效参数:[object Object] 2.未捕获的TypeError:无法调用未定义的方法“包含”

编辑:我可以使用相同的标记标签来创建多个标记,如下所示吗?

基本上是尝试将标记添加到一组经纬度并计算到一个公共点的距离:

<script type="text/javascript">
        var map;
        var mapOptions;
        var lat = [33, 34, 35, 36];
        var lon = [-84, -86, -89, -100];
        var src = [30, -90];
        var dist = [];
        var marker;
        var directionsService = new google.maps.DirectionsService();
        var directionsRequest;
        var directionsRenderer;
        var markerPoints =  [{"location": new google.maps.LatLng(lat[0], lon[0])}, 
                             {"location": new google.maps.LatLng(lat[1], lon[1])},
                             {"location": new google.maps.LatLng(lat[2], lon[2])},
                             {"location": new google.maps.LatLng(lat[3], lon[3])}];

          function initialize() {
            directionsRenderer = new google.maps.DirectionsRenderer();
            mapOptions = {
              center: new google.maps.LatLng(33.75, -84.39),
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById("map-canvas"),
                    mapOptions);
            directionsRenderer.setMap(map);

            marker = new google.maps.Marker({
                 position: new google.maps.LatLng(src[0], src[1]),
                 //icon: 'http://maps.google.com/mapfiles/marker.png',
                 map: map
              });

            for(var iter = 0; iter < lat.length; iter++)
            {
                placeMarker(iter);
                getDistances(iter);
            }
          }

          function placeMarker(iter)
          {
                 marker = new google.maps.Marker({
                 position: markerPoints[iter],
                 //icon: 'http://maps.google.com/mapfiles/marker_green.png',
                 map: map
              });
          }

          function getDistances(iter)
          {
              directionsRequest = {
                    origin: new google.maps.LatLng(src[0], src[1]),
                    destination: markerPoints[iter],
                    travelMode: google.maps.TravelMode.DRIVING,
              };

              directionsService.route(directionsRequest, function(response, status){
                  if(status == google.maps.DirectionsStatus.OK)
                      {
                            dist.push(response.routes[0].legs[0].distance);
                      }
                  else
                      {
                        alert("Impossible");
                      }
              });
          }

        google.maps.event.addDomListener(window, 'load', initialize);
        </script>
一世

干得好...

问题#1:未捕获的InvalidValueError:setPosition的参数无效:[object Object]

您的markerPoints数组存在问题。代替

var markerPoints =  [{"location": new google.maps.LatLng(lat[0], lon[0])}, 
                     {"location": new google.maps.LatLng(lat[1], lon[1])},
                     {"location": new google.maps.LatLng(lat[2], lon[2])},
                     {"location": new google.maps.LatLng(lat[3], lon[3])}];

它应该像..

 var markerPoints = [new google.maps.LatLng(lat[0], lon[0]),
                     new google.maps.LatLng(lat[1], lon[1]),
                     new google.maps.LatLng(lat[2], lon[2]),
                     new google.maps.LatLng(lat[3], lon[3])];

问题2:未被捕获的TypeError:无法调用未定义的方法“包含”:

如果您将实验API版本(v = 3.exp)用于地图api,则会遇到此问题。您还应该使用任何发行版。您可以通过访问Google Map API版本信息部分找到有关不同版本的详细信息

希望这会帮助你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Maps v3 WebService API直线距离

来自分类Dev

Google Maps API v3按州计算里程

来自分类Dev

Maps API v3:计算方位

来自分类Dev

Google Maps JS API v3 - 如何检查和显示多边形点之间的距离

来自分类Dev

通过Google Maps API计算行驶距离

来自分类Dev

从距离矩阵中获取变量,Google Maps v3

来自分类Dev

Google Maps API V3错误:RefererDeniedMapError

来自分类Dev

使地图在Google Maps API v3上运行的问题

来自分类Dev

带有Rhomobile的Google Maps Javascript V3 API

来自分类Dev

Google Maps API v3多边形关闭

来自分类Dev

Close all info windows google maps API V3?

来自分类Dev

在Google Maps API v3中绘制多个圆圈

来自分类Dev

Google Maps API v3 Firefox问题

来自分类Dev

Google Maps API v3隐藏“滑雪道”

来自分类Dev

刷新Google Maps API V3图层

来自分类Dev

单击Google Maps API v3从Marker绘制折线

来自分类Dev

Google Maps Javascript API V3中的旋转标记

来自分类Dev

多个图块问题Google Maps API v3 JS

来自分类Dev

动画化不同的标记API V3 Google Maps

来自分类Dev

Google Maps API v3 DrawingManager预定义折线

来自分类Dev

Google Maps API v3隐藏“滑雪道”

来自分类Dev

标记位置未获取-Google Maps API v3

来自分类Dev

标记拖动事件Google Maps API V3

来自分类Dev

Google Maps API v3 travelMode作为变量

来自分类Dev

Google Maps API V3 IF else语句

来自分类Dev

Google Maps JavaScript API v3 /数据层/ MarkerClusterer

来自分类Dev

单击Google Maps API v3从Marker绘制折线

来自分类Dev

链接标题Google Maps API v3

来自分类Dev

Google Maps API v3标记问题