Javascript 谷歌地图未捕获类型错误:无法读取属性';堆栈';未定义的

Javascript 谷歌地图未捕获类型错误:无法读取属性';堆栈';未定义的,javascript,google-maps,properties,undefined,typeerror,Javascript,Google Maps,Properties,Undefined,Typeerror,我是谷歌地图的新手,我正在尝试设置一个基本的方向显示。 我基本上是这样做的: var Map = new google.maps.Map( Canvas[ 0 ], { center: { lat: -34.397, lng: 150.644 }, zoom: 8 } ); var DService = new google.maps.DirectionsService(); var DDisplay = new google.maps.DirectionsRenderer(

我是谷歌地图的新手,我正在尝试设置一个基本的方向显示。 我基本上是这样做的:

var Map = new google.maps.Map( Canvas[ 0 ], 
{
    center: { lat: -34.397, lng: 150.644 },
    zoom: 8
} );

var DService = new google.maps.DirectionsService();
var DDisplay = new google.maps.DirectionsRenderer();
DDisplay.setMap( Map );
只要我完成DDisplay.setMap(Map);Chrome在控制台中显示错误

错误是:

未捕获的TypeError:无法读取未定义的属性“堆栈”

我尝试过使用带有回调的
包含脚本,使用JQuery$.getScript,目前我在没有回调的网页的标题部分包含了它,所有这些都给出了相同的错误

完整代码如下(请忽略预处理器命令):


{TEXT}映射{/TEXT}
$(文档).ready(函数()
{
"严格使用",;
//{if$ID}
var GoogleMap=$('#{$ID}');
//{else}
var GoogleMap=$('div[data GoogleMap]');
//{/if}
var-Map=null;
var-DService=null;
var DDisplay=null;
可调整大小({animate:true,animateDuration:'fast'})。打开('resizestop',function())
{
setTimeout(函数()
{
var Center=Map.getCenter();
google.maps.event.trigger(映射,'resize');
地图设置中心(中心);
}, 500 );
} );
可拖动({句柄:'h3',光标:“move”});
var Canvas=GoogleMap.find('div[data googleMapCanvas]');
Map=new google.maps.Map(画布[0],
{
中心:{纬度:-34.397,液化天然气:150.644},
缩放:8
} );
DService=new google.maps.DirectionsService();
DDisplay=new google.maps.DirectionsRenderer();
DDisplay.setMap(Map);
});
附言: 无论我是否使用JQuery UI函数,都没有区别。 我也尝试过改变谷歌地图API的版本,这也没什么不同


Terry

请提供一个演示错误的示例。我不知道这是否可行,因为这些页面是由模板处理器生成的,并用ajax加载到网页上。我想我只是问有没有人知道谷歌地图中的“堆栈”与什么有关。最近我制作了这个问题。我无法调试此问题,因为源文件不可用。我的代码与上面的代码类似。请提供一个示例来演示错误。我不知道这是否可能,因为这些页面是由模板处理器生成的,并使用ajax加载到网页上。我想我只是问有人知道Google Maps中的“堆栈”与什么有关。最近我制作了这个问题。我无法调试此问题,因为源文件不可用。我的代码与上面的代码类似。
<div data-googleMap {if $ID}id="{$ID}"{/if}>
  <h3 class="ui-widget-header">{TEXT}Map{/TEXT}</h3>
    <div data-googleMapCanvas></div>
</div>

<script>

$( document ).ready( function()
{
    'use strict';
//  {if $ID}
    var GoogleMap = $( '#{$ID}' );
//  {else}
    var GoogleMap = $( 'div[data-googleMap]' );
//  {/if}
    var Map = null;
    var DService = null;
    var DDisplay = null;

    GoogleMap.resizable( { animate: true, animateDuration: 'fast' } ).on( 'resizestop', function()
    {
        setTimeout( function()
        {
            var Center = Map.getCenter();
            google.maps.event.trigger( Map, 'resize' );
            Map.setCenter( Center );
        }, 500 );
    } );

    GoogleMap.draggable( { handle:'h3', cursor: "move" } );

    var Canvas = GoogleMap.find( 'div[data-googleMapCanvas]' );
    Map = new google.maps.Map( Canvas[ 0 ], 
    {
        center: { lat: -34.397, lng: 150.644 },
        zoom: 8
    } );

    DService = new google.maps.DirectionsService();
    DDisplay = new google.maps.DirectionsRenderer();
    DDisplay.setMap( Map );
});
</script>