google Directions api问题

问题描述

| 用户来到我的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\"));
}
    

解决方法

调试屏幕截图表明,initialize()是文件在Google Maps API引发错误之前运行的最后一行代码。因此,查看那里(和/或在您的问题中提供该代码)。 更新:根据您的代码,首先要检查的是确保一个ID为
map_canvas_directions
的元素和另一个ID为
directionsPanel
的元素。没有足够的信息可以肯定地说,但是如果我不得不猜测,您的UI更改摆脱了这些元素中的一个或另一个,但是您的代码需要它们。 更新到更新:按照@Arjan的建议替换DirectionsRenderer()构造函数中的内容也是导致问题的可能原因,因此也绝对可以尝试!     ,您已删除了Google示例中提供的一些代码。
directionsDisplay = new google.maps.DirectionsRenderer({
    \'map\': map,\'preserveViewport\': true,\'draggable\': true
});
如果您将以上代码添加到适当的位置,我希望您的代码能够再次正常工作。如果没有,您确实应该再次从示例代码开始,因为这样做确实可行。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...