无法调用方法'应用'关于为jquery谷歌地图插件设置方向的未定义

Cannot call method 'apply' of undefined on setting directions for jquery google maps plugin

本文关键字:插件 谷歌地图 设置 未定义 jquery 方向 调用 方法 应用      更新时间:2023-09-26

我已经按照教程在这里创建了一个jquery移动谷歌地图画布,并试图设置它,但我在JavaScript控制台中遇到了这个错误:

未捕获的类型错误:无法调用未定义的方法"apply"

我想我可能在某个地方有一个丢失的回调,但我找不到它,有人能给我一个指针吗?

这就是我初始化和显示地图的方式,如页面所示,这很好。我可以在地图上平移/缩放:

$('#map_canvas').gmap({ 'center': latLon,'scrollwheel':false});
    $('#map_canvas').gmap('option', 'zoom', 12);
    $('#map_canvas').gmap().bind('pageshow', function(ev, map){
        $('#map_canvas').gmap('addMarker', {'position':latLon, 'bounds':false}).click(function(){
            $('#map_canvas').gmap('openInfoWindow', {'content':myAddress}, this);
            });
    });

我的HTML页面上有以下字段:

<p>
                <label for="from">From</label>
                <input id="from" class="ui-bar-c" type="text" value="Los Angeles" />
            </p>
            <p>
                <label for="to">To</label>
                <input id="to" class="ui-bar-c" type="text" value="New York" />
            </p>
            <a id="submit" href="#" data-role="button" data-icon="search">Get directions</a>

            <div id="map_canvas" style="width:100%;height:300px"></div>
            <div id="results" class="ui-listview ui-listview-inset ui-corner-all ui-shadow" style="display:none;">
                    <div class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-top ui-btn-up-undefined">Results</div>
                    <div id="directions"></div>
                    <div class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-bottom ui-btn-up-undefined"></div>
                </div>

onclick绑定到这个JS函数:

function getDirections()
{
    $('#map_canvas').gmap('displayDirections', { 'origin': 'Los Angeles, USA', 'destination': 'New York, USA', 'travelMode': google.maps.DirectionsTravelMode.DRIVING }, { 'panel': document.getElementById('panel') }, function(result, status) {
        if ( status === 'OK' ) {
                alert('Results found!');
        }
    }); 
}

原来这是因为没有包含库。在我下载的文件中,有一个jquery.ui.map.services.js文件,必须先包含它才能工作。这就是方向函数的作用所在。