我是谷歌地图的新手,我试图设置基本路线显示。 我基本上做了:
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:无法读取属性' stack'未定义的
我尝试使用带有回调的<script async defer>
包含脚本,使用JQuery $ .getScript,目前我在网页的head部分没有回调,所有都给出了相同的错误。
完整代码如下(请忽略预处理器命令):
<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>
PS: 如果我使用JQuery UI函数,它没有区别。 此外,我尝试更改Google Maps API的版本,它也没有任何区别。
特里