用户来到我的web应用程序,找到了目标地址,但他没有定位到源位置,并发布了页面。未注册到web应用程序的普通用户添加源位置。
一旦用户添加了源位置,他就不能看到确切的方向地图,而是google显示默认地图。
这是我们使用chrome控制台时给出的例外。
我在这里添加了代码以及我得到的异常
Error Name:
main.js:41Uncaught TypeError:Object#<object> has no method 'Load'
function calcRoute() {
showDirections();
document.getElementById('directionsPanel').innerHTML="";
initialize();
var start = document.getElementById("txt_from").value;
var end = getDestinationAdderss(document.getElementById('final_address').innerHTML);
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});

function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var chicago = new google.maps.LatLng(41.850033, -87.6500523);
var myOptions = {
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: chicago
}
map = new google.maps.Map(document.getElementById("map_canvas_directions"), myOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById("directionsPanel"));
}发布于 2011-05-26 02:53:27
debug屏幕截图表明,initialize()是Google Maps API抛出错误之前在文件中运行的最后一段代码。因此,请查看其中(和/或在问题中提供代码)。
更新:根据您的代码,首先要检查的可能是确保存在一个id为map_canvas_directions的元素和一个id为directionsPanel的元素。没有足够的信息可以确定,但如果我不得不猜测,您的UI更改去掉了这些元素中的一个或另一个,但您的代码需要它们。
更新的更新:按照@Arjan的建议替换DirectionsRenderer()构造函数中的东西也可能是问题的原因,所以一定要尝试一下!
发布于 2011-05-26 03:50:08
您已经删除了Google sample中存在的一些代码。
directionsDisplay = new google.maps.DirectionsRenderer({
'map': map,
'preserveViewport': true,
'draggable': true
});如果您将上面的代码添加到适当的位置,我希望您的代码可以再次工作。如果没有,您真的应该重新开始示例代码,因为它确实可以工作。
https://stackoverflow.com/questions/6126587
复制相似问题