【问题标题】:Uncaught TypeError: Cannot read property 'route' of undefined未捕获的类型错误:无法读取未定义的属性“路线”
【发布时间】:2019-10-03 14:52:15
【问题描述】:

我刚开始使用路线服务。我已经硬编码了几个位置以确保它正常工作。我不断收到同样的错误(未捕获的类型错误:无法读取未定义的属性“路由”),我不知道为什么。该代码几乎是文档中代码的精确副本。

    <script>
    var map;
    var directionsService;
    var directionsRenderer;

    function initMap() {
      var directionsService = new google.maps.DirectionsService();
      var directionsRenderer = new google.maps.DirectionsRenderer();

      var chicago = new google.maps.LatLng(38.627003, -90.199402);
      var mapOptions = {
        zoom:10,
        center: chicago
      }
      map = new google.maps.Map(document.getElementById('map'), mapOptions);
      directionsRenderer.setMap(map);
    }

    function calcRoute(start, end) {

      var request = {
        origin: "St Louis, MO",
        destination: "Chicago, IL",
        travelMode: 'DRIVING'
      };
        console.log(request);
      directionsService.route(request, function(result, status) {
        if (status == 'OK') {
          directionsRenderer.setDirections(result);
        }
      });
    }
</script>

【问题讨论】:

  • 您能更正您帖子的标签吗?您的问题是关于 Javascript 但使用 HTML 标记。

标签: javascript api service maps directions


【解决方案1】:

没关系!我想到了。我在 initMap() 中重新声明了 directionService 和 directionRender,这改变了这两个变量的范围!我将其更改为以下内容,并且可以正常工作。

    var map;
    var directionsService;
    var directionsRenderer;

    function initMap() {
      directionsService = new google.maps.DirectionsService();
      directionsRenderer = new google.maps.DirectionsRenderer();

【讨论】:

    猜你喜欢
    • 2016-11-21
    • 2021-12-22
    • 2022-01-21
    • 2015-01-06
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    相关资源
    最近更新 更多